diff options
Diffstat (limited to 'src/sequencer.c')
-rw-r--r-- | src/sequencer.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/sequencer.c b/src/sequencer.c index ef22a8a..e77a58d 100644 --- a/src/sequencer.c +++ b/src/sequencer.c @@ -113,8 +113,8 @@ activate(LV2_Handle instance) } static void -runSequencer(LV2_Handle instance, - uint32_t sample_count) +run(LV2_Handle instance, + uint32_t sample_count) { Sequencer* plugin = (Sequencer*)instance; @@ -145,7 +145,7 @@ runSequencer(LV2_Handle instance, unsigned int step_index = plugin->step_index; unsigned int loop_index = LRINTF(loop_steps); - int rst = LRINTF(reset); + int rst = reset > 0.0f; int i; loop_index = loop_index == 0 ? 1 : loop_index; @@ -191,3 +191,23 @@ runSequencer(LV2_Handle instance, plugin->last_value = last_value; plugin->step_index = step_index; } + +static const LV2_Descriptor descriptor = { + SEQUENCER_URI, + instantiate, + connect_port, + activate, + run, + NULL, + cleanup, + NULL +}; + +LV2_SYMBOL_EXPORT const LV2_Descriptor* +lv2_descriptor(uint32_t index) +{ + switch (index) { + case 0: return &descriptor; + default: return NULL; + } +} |