Hello!
As you've probably seen... I've created a 'transport_redesign' branch. As I
work on it... I'm starting to think it should be called the
audioengine_overhaul
branch. :-)
I've just reached a point where, if someone wanted to, they could help with
what
I'm doing. (and the help would be welcome!)
Currently, my vision is like this (which is an extension to my other ASCII art):
Transport
| +-- H2Core::Song
V |
Sequencer (Hydrogen) <---- (sequencer sources) ---+-- MIDI Input
| | | | |
(sequencer clients) +-- Keyboard Input
| | | |
V V | V
.... V Sampler----+
MIDI Out |
| V
V Audio Driver
MIDI Driver
So... here's where the handles are:
Hydrogen uses TransportPosition, the Song, and other inputs and merges them
into
a frame-based timeline called SeqScript. SeqScript passes an iterator to
sequencer clients to process the events.
The Sampler (and any MIDI out driver) has to translate SeqScript to audio. The
sampler will become a subclass of SamplerClientInterface.
It's intended that H2Core::Instrument be managed by the sampler.
The SeqScript classes need to be implemented in a thread-safe and realtime safe
way.
Peace,
Gabriel
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel