summaryrefslogtreecommitdiffstats
path: root/src/server/internals/Note.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/internals/Note.hpp')
-rw-r--r--src/server/internals/Note.hpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/internals/Note.hpp b/src/server/internals/Note.hpp
index 08d1b358..e8593768 100644
--- a/src/server/internals/Note.hpp
+++ b/src/server/internals/Note.hpp
@@ -48,7 +48,7 @@ public:
~NoteNode();
bool prepare_poly(BufferFactory& bufs, uint32_t poly);
- bool apply_poly(RunContext& context, Raul::Maid& maid, uint32_t poly);
+ bool apply_poly(RunContext& context, uint32_t poly);
void run(RunContext& context);
@@ -84,12 +84,15 @@ private:
SampleCount time;
};
+ typedef Raul::Array<Voice> Voices;
+
void free_voice(RunContext& context, uint32_t voice, FrameTime time);
- Raul::Array<Voice>* _voices;
- Raul::Array<Voice>* _prepared_voices;
- Key _keys[128];
- bool _sustain; ///< Whether or not hold pedal is depressed
+ MPtr<Voices> _voices;
+ MPtr<Voices> _prepared_voices;
+
+ Key _keys[128];
+ bool _sustain; ///< Whether or not hold pedal is depressed
InputPort* _midi_in_port;
OutputPort* _freq_port;