summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/MidiNoteNode.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-08 03:58:00 +0000
committerDavid Robillard <d@drobilla.net>2006-09-08 03:58:00 +0000
commit48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa (patch)
tree9da4b4b075791ac1ec78b499dbcbec6101f54690 /src/libs/engine/MidiNoteNode.h
parentacbe9a26ec3ab689e430225d15e95e73a7378aa9 (diff)
downloadingen-48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa.tar.gz
ingen-48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa.tar.bz2
ingen-48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa.zip
De-singleton-ified Engine
Slight rework of Responder/ClientKey/ClientInterface for Requests git-svn-id: http://svn.drobilla.net/lad/ingen@119 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/MidiNoteNode.h')
-rw-r--r--src/libs/engine/MidiNoteNode.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/libs/engine/MidiNoteNode.h b/src/libs/engine/MidiNoteNode.h
index 1f727b98..ba86455d 100644
--- a/src/libs/engine/MidiNoteNode.h
+++ b/src/libs/engine/MidiNoteNode.h
@@ -42,17 +42,16 @@ public:
MidiNoteNode(const string& path, size_t poly, Patch* parent, SampleRate srate, size_t buffer_size);
~MidiNoteNode();
- void process(SampleCount nframes);
+ void process(SampleCount nframes, FrameTime start, FrameTime end);
- void note_on(uchar note_num, uchar velocity, SampleCount offset);
- void note_off(uchar note_num, SampleCount offset);
- void all_notes_off(SampleCount offset);
+ void note_on(uchar note_num, uchar velocity, SampleCount nframes, FrameTime time, FrameTime start, FrameTime end);
+ void note_off(uchar note_num, FrameTime time, SampleCount nframes, FrameTime start, FrameTime end);
+ void all_notes_off(SampleCount nframes, FrameTime time, FrameTime start, FrameTime end);
- void sustain_on();
- void sustain_off(SampleCount offset);
+ void sustain_on(FrameTime time, SampleCount nframes, FrameTime start, FrameTime end);
+ void sustain_off(FrameTime time, SampleCount nframes, FrameTime start, FrameTime end);
private:
-
/** Key, one for each key on the keyboard */
struct Key {
enum State { OFF, ON_ASSIGNED, ON_UNASSIGNED };
@@ -68,7 +67,7 @@ private:
};
float note_to_freq(int num);
- void free_voice(size_t voice, SampleCount offset);
+ void free_voice(size_t voice, FrameTime time, SampleCount nframes, FrameTime start, FrameTime end);
Voice* _voices;
Key _keys[128];