This sample app demonstrates using interactive apps through an app's processes standard streams.

The sample app has a karaoke.adef file and two Component.cdef files (for a selector and a player) and related source code, make, and resource files.

The .adef file has executables, processes, bundles, requires, and bindings sections.

The .cdef files have sources (.c file) and provides (songs.api) sections.

The songs.api sets the song path and speed.

Run this to install the sample app:

$ cd apps/sample/karaoke
$ make wp85
$ update karaoke.wp85.update <ip address>

If you're not using a Sierra Wireless WP85xx module, replace wp85 with the appropriate identifier for your target.

Run the app with the player process's standard out connected to the terminal:

$ app runProc karaoke player

The default song's lyrics will print to the terminal.

In another terminal, you can connect to the app's selector process interactively:

$ app runProc karaoke selector normal

The player's output will slow down because the speed was changed to normal (from the .adef fast default).

A menu is also provided to change songs.

Enter @ Ctrl+C in both windows to kill processes, and stop the app.