Re: [linux-audio-user] Re: [linux-audio-dev] music engine

From: Patrick Stinson <patrickkidd.lists@email-addr-hidden>
Date: Sat Apr 08 2006 - 01:23:00 EEST

As an added note to my previous comments, I really like the app
interface that mpd uses. Writing ascii events using some spec or
another to a file descriptor (socket in mpd's case) seems to be a
terrific way to communicated with apps and libs. I run the svn
pksampler like this:

pksampler | pkaudiod

I could just as easily have either use a socket or some other pipe,
and this is easy to debug, script, profile, etc. On the client and
server sides, I wrap my 10-minute rpc into an interface with generic
calls. Everything having to do with input (MIDI, OSC, whatever)
happens in the app code. The interface functions resemble those of
FMODEx's interface; add sample, connect to channel, set sample attrs,
etc.

As an interface designer, the first thing I look for on an engine's
project site is some sort of asynchronous API - I should never concern
myself with anything outside referencing the api from my app's one
windowing thread. FMOD, gstreamer, and my dead pkaudio project do this
very well. I don't ever want to worry about what thread it happens in,
what threads it will affect, or what the performance effects of
*making* the call will be (as opposed to residual effects).

This is why I like

$ interface | engine > engine.log

On 4/7/06, Dmitry Baikov <dsbaikov@email-addr-hidden> wrote:
> On 4/7/06, Patrick Stinson <patrickkidd.lists@email-addr-hidden> wrote:
> > What are you working on, if I may pry?
>
> In short, smth like Ableton Live, but with support for several tempos
> and subclips (i.e. clips with complex structure, not just looped
> wav/midi piece).
> Can't call it "working" since I have only few hacks and smth like
> design-document.
>

--
Patrick Kidd Stinson
http://www.patrickkidd.com/
http://pkaudio.sourceforge.net/
http://pksampler.sourceforge.net/
Received on Sat Apr 8 04:15:03 2006

This archive was generated by hypermail 2.1.8 : Sat Apr 08 2006 - 04:15:03 EEST