/[svn]/linuxsampler/trunk/src/engines/common/Event.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/common/Event.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3118 by schoenebeck, Fri Apr 21 13:33:03 2017 UTC revision 3283 by schoenebeck, Wed Jun 21 20:59:06 2017 UTC
# Line 58  namespace LinuxSampler { Line 58  namespace LinuxSampler {
58          public:          public:
59              EventGenerator(uint SampleRate);              EventGenerator(uint SampleRate);
60              void UpdateFragmentTime(uint SamplesToProcess);              void UpdateFragmentTime(uint SamplesToProcess);
61                void SetSampleRate(uint SampleRate);
62              Event CreateEvent();              Event CreateEvent();
63              Event CreateEvent(int32_t FragmentPos);              Event CreateEvent(int32_t FragmentPos);
64    
# Line 166  namespace LinuxSampler { Line 167  namespace LinuxSampler {
167                  type_note_pressure, ///< polyphonic key pressure (aftertouch)                  type_note_pressure, ///< polyphonic key pressure (aftertouch)
168                  type_play_note, ///< caused by a call to built-in instrument script function play_note()                  type_play_note, ///< caused by a call to built-in instrument script function play_note()
169                  type_stop_note, ///< caused by a call to built-in instrument script function note_off()                  type_stop_note, ///< caused by a call to built-in instrument script function note_off()
170                    type_kill_note, ///< caused by a call to built-in instrument script function fade_out()
171                  type_note_synth_param, ///< change a note's synthesis parameters (upon real-time instrument script function calls, i.e. change_vol(), change_tune(), change_pan(), etc.)                  type_note_synth_param, ///< change a note's synthesis parameters (upon real-time instrument script function calls, i.e. change_vol(), change_tune(), change_pan(), etc.)
172              } Type;              } Type;
173              enum synth_param_t {              enum synth_param_t {
174                  synth_param_volume,                  synth_param_volume,
175                    synth_param_volume_time,
176                    synth_param_volume_curve,
177                  synth_param_pitch,                  synth_param_pitch,
178                    synth_param_pitch_time,
179                    synth_param_pitch_curve,
180                  synth_param_pan,                  synth_param_pan,
181                  synth_param_cutoff,                  synth_param_cutoff,
182                  synth_param_resonance,                  synth_param_resonance,
# Line 347  namespace LinuxSampler { Line 353  namespace LinuxSampler {
353       */       */
354      template<typename T>      template<typename T>
355      void EventGenerator::scheduleAheadMicroSec(RTAVLTree<T>& queue, T& node, int32_t fragmentPosBase, uint64_t microseconds) {      void EventGenerator::scheduleAheadMicroSec(RTAVLTree<T>& queue, T& node, int32_t fragmentPosBase, uint64_t microseconds) {
356          node.scheduleTime = uiTotalSamplesProcessed + fragmentPosBase + float(uiSampleRate) * (float(microseconds) / 1000000.f);          // round up (+1) if microseconds is not zero (i.e. because 44.1 kHz and
357            // 1 us would yield in < 1 and thus would be offset == 0)
358            const sched_time_t offset =
359                (microseconds != 0LL) ?
360                    1.f + (float(uiSampleRate) * (float(microseconds) / 1000000.f))
361                    : 0.f;
362            node.scheduleTime = uiTotalSamplesProcessed + fragmentPosBase + offset;
363          queue.insert(node);          queue.insert(node);
364      }      }
365    

Legend:
Removed from v.3118  
changed lines
  Added in v.3283

  ViewVC Help
Powered by ViewVC