On Fri, March 6, 2009 1:46 pm, [email protected] wrote:
> i like this simple synth idea. but hey if nobody develop this anymore...
> the same with the beginning of piano roll editor. think both (synth +
> piano roll) was for the same project.
:-) I'd love to work on a subtractive synth, too...
BUT... how about we call it a day once MIDI Out is working. Let
ZynAddSubFX or my Korg do the synth stuff.
> maybe to understand more of your ideas can give some introduction for
> this?
Sure! However, this diagram is out of date. The file is in chronological
order... so the stuff at the END of the file are more important. There's
a similar diagram near the bottom that's more accurate (but still out of
date).
HydrogenGUI
A
| Current Song
V |(**)
TransportControlInterface JackTimebaseCallback |
A (start, stop, locate, select A |
| transport master backend) |(**) |
V (++) | V
Transport <-- TransportMasterInterface <-+-InternalTransportMaster
| (private) |
| +-JackTransportMaster (++)
V |
TransportPosition (Struct/class) +-MiscTransportMaster
| (analog to jack_position_t) |
| .
V .
Hydrogen (sequencer) .
(**) Currently, the Current song is a module
variable (private) for hydrogen.cpp.
How do we expose this to the transport?
(++) Someone, somewhere, has to compensate
for these cases:
* When jack_position_t does not have BBT.
* When ticks don't match Hydrogen's ticks.
In a nutshell... H2Core::Transport feeds Hydrogen a TransportPosition
struct that is always sane and always maps to the current song (see
TransportMasterInterface.h). (This part is done -- well, a first draft
anyway.)
Hydrogen takes the B:b.t info and the current song and schedules note
on/off events for the sampler. The on/off events are scheduled by frame
and have nothing to do with B:b.t. (I plan to do this part this weekend.)
The way that the sampler gets notes scheduled bears a very strong
resemblance to how MIDI Note On/Off events work... which makes MIDI Out
trivial to implement.
The transport back-ends are transparent to the sequencer. Thus, the
sequencer is *always* the slave. When we want to be JACK Timebase Master,
we just plug one of those up to JACK... but we still listen as the JACK
slave.
Peace,
Gabriel
--
G a b r i e l M B e d d i n g f i e l d
------------------------------------------------------------------------------
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