[Haskell-beginners] How to interact with a process

David McBride toad3k at gmail.com
Wed Jan 30 23:51:03 CET 2013


Then the answer depends on how you are going about playing midi.

1. Is the api call for this playMidiFile :: FilePath -> IO (), where it
waits until the file finishes before it returns?
You may have to spawn a thread (forkIO) before you play, save it's threadId
in some sort of state and then attempt to kill it from the input thread
when the time comes.

2. Does it play the file and return an id you can reference for later
manipulation?
You can simply keep that reference in some sort of state and when the
command comes to kill it, just use that reference.

3. Are you sending external system commands to a sound system like mplayer
or alsa?
Just send the commands and let the system handle it.

On Wed, Jan 30, 2013 at 5:32 PM, Martin Drautzburg <Martin.Drautzburg at web.de
> wrote:

> On Tuesday, 29. January 2013 11:01:30 Miguel Negrao wrote:
>
> >
> > main =        forever readFromConsole
> >
> > readFromConsole = do
> >       in <- getLine
> >       processInput in
> >
> > processInput “start” = startMidi
> > processInput “stop” = stopMidi
> >
> > where startMidi and stopMidi are functions.
>
> How to implement these functions is exactly my problem.
>
> --
> Martin
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130130/0aab5022/attachment.htm>


More information about the Beginners mailing list