On Monday 25 October 2004 15:11, Karri Kaksonen wrote: > I got some mail about a tsi-sound library also (Tiny Sound Interface). > > Personally I would like to have a multilevel sound interface API where the > lowest level driver could answer to TSI-requests like: > > ; for digitized sound > tsi_sample(sample) i would make samples a seperate and independent driver. then samples might have simelar functions as the regular music driver, except the "instrument" call which then would set the actual sample. > ; for synthesized sound > tsi_note_on(channel, note) > tsi_note_off(channel) > tsi_volume(channel, volume) > tsi_waveform(channel, waveform) ; Choose waveform from pre-defined > settings > > ; for hardware understanding envelopes (attack, fade) > tsi_envelope(channel, attack, hold, fade) i dont think setting envelope and waveform makes sence in such an api...i would suggest using predefined instruments. the different machines are way to different to make anything else imho. > The top level midi or abc-notation interface could then use the lower > level tsi-library functions. > > abc_play_tune(channel, tune) > midi_play_tune(tune) mind you, all that must handle the maximum available channels, and possibly other things....and a midi player is probably totally out of the question :=P > The sprite-api if hopefully compatible with the way the Lynx handles > sprites. I already used the CONTROL entry in the tgi-driver for the low > level sprite drawing like: > > #define tgi_sprite(sprite) tgi_ioctl(0, sprite) > > The "sprite" is a structure containing things like the position on screen. sprites might be kinda tricky....since it various a LOT how they work on different platforms....mmmmh.... maybe we should start collecting the capabilities of the various platforms before we even think about this one... gpz ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Mon Oct 25 18:10:44 2004
This archive was generated by hypermail 2.1.8 : 2004-10-25 18:10:53 CEST