You accidently had html-mail switched on. :)
Argh. Stupid Thunderbird.
In this context qlist and textfile are eqivalent: qlist is just a textfile with a metro/delay and a sender already built in. Both objects do things inside of Pd and the metros work with subsample accuracy. I don't think, you can take them as a model for communication with external processes: Once the file is loaded into a textfile's or qlist's memory, there's no communication with the outside world (network, harddisk, other processes) happening anymore.
Ah, okay, that's good to know.
I guess my main question was, what's the best way to send event lists from the language to either of these objects?
I think, a better model for realtime interaction might by OSC with timetags.
Right, but in an embedded context (i.e., pd embedded in another language), OSC seems to me to add unnecessary overhead. See above question.
qlist can send lists just fine. Both qlist and a textfile with sender/outlet and metro-timing simply send Pd messages like floats, symbols, lists, etc. It's up to the composer to define, what's describing an event and what describes a sequence.
Right, uh, but that's the *output* from those messages. (I don't think either can receive as flexibly as that.)
The notion is that the language side of things - Java, C++, Objective-C, Python, whatever -- will have the logic that determines how events are scheduled, and would handle user input that might alter the sequence of those events. The question is how best to have the *language* communicate with Pd.
So, the structure would be: external logic > message to Pd > qlist/textfile scheduling inside Pd
sound source in Pd > audio callback in the embedded instance
We'd continue to use libpd, but rather than assuming the Pd patch contains logic for how the events are scheduled, those would be integrated with the logic and interface contained in the code. (So, on iOS, for instance, in Objective-C or something.)
Am I making a bit more sense? I was just unsure how best to handle (and recommend to others how to handle) the interface between Pd and the outside world, if Pd is acting in real-time but responding to changing sequences from code written elsewhere, outside the logic of the patch.
Peter