/[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 2879 by schoenebeck, Tue Apr 19 14:07:53 2016 UTC revision 2931 by schoenebeck, Sat Jul 9 14:38:33 2016 UTC
# Line 143  namespace LinuxSampler { Line 143  namespace LinuxSampler {
143                  type_release,         ///< transformed either from a note-off or sustain-pedal-up event                  type_release,         ///< transformed either from a note-off or sustain-pedal-up event
144                  type_channel_pressure, ///< a.k.a. aftertouch                  type_channel_pressure, ///< a.k.a. aftertouch
145                  type_note_pressure, ///< polyphonic key pressure (aftertouch)                  type_note_pressure, ///< polyphonic key pressure (aftertouch)
146                    type_note_synth_param, ///< change a note's synthesis parameters (upon real-time instrument script function calls)
147              } Type;              } Type;
148                enum synth_param_t {
149                    synth_param_volume,
150                    synth_param_pitch,
151                    synth_param_pan,
152                };
153              union {              union {
154                  /// Note-on and note-off event specifics                  /// Note-on and note-off event specifics
155                  struct _Note {                  struct _Note {
# Line 183  namespace LinuxSampler { Line 189  namespace LinuxSampler {
189                      uint8_t Key;     ///< MIDI note number where key pressure (polyphonic aftertouch) changed.                      uint8_t Key;     ///< MIDI note number where key pressure (polyphonic aftertouch) changed.
190                      uint8_t Value;   ///< New pressure value for note.                      uint8_t Value;   ///< New pressure value for note.
191                  } NotePressure;                  } NotePressure;
192                    ///< Note synthesis parameter change event's specifics (used for real-time instrument script built-in functions which may alter synthesis parameters on note level).
193                    struct _NoteSynthParam {
194                        note_id_t     NoteID;   ///< ID of Note whose voices shall be modified.
195                        synth_param_t Type;     ///< Synthesis parameter which is to be changed.
196                        float         Delta;    ///< The value change that should be applied against the note's current synthesis parameter value.
197                        bool          Relative; ///< Whether @c Delta should be applied relatively against the note's current synthesis parameter value (false means the paramter's current value is simply replaced by Delta).
198                        float         AbsValue; ///< New current absolute value of synthesis parameter (that is after @c Delta being applied).
199                    } NoteSynthParam;
200              } Param;              } Param;
201              EngineChannel* pEngineChannel; ///< Pointer to the EngineChannel where this event occured on, NULL means Engine global event (e.g. SysEx message).              EngineChannel* pEngineChannel; ///< Pointer to the EngineChannel where this event occured on, NULL means Engine global event (e.g. SysEx message).
202              MidiInputPort* pMidiInputPort; ///< Pointer to the MIDI input port on which this event occured (NOTE: currently only for global events, that is SysEx messages)              MidiInputPort* pMidiInputPort; ///< Pointer to the MIDI input port on which this event occured (NOTE: currently only for global events, that is SysEx messages)
# Line 190  namespace LinuxSampler { Line 204  namespace LinuxSampler {
204              inline void Init() {              inline void Init() {
205                  Param.Note.ID = 0;                  Param.Note.ID = 0;
206                  Param.Note.ParentNoteID = 0;                  Param.Note.ParentNoteID = 0;
207                    Param.NoteSynthParam.NoteID = 0;
208              }              }
209              inline int32_t FragmentPos() {              inline int32_t FragmentPos() {
210                  if (iFragmentPos >= 0) return iFragmentPos;                  if (iFragmentPos >= 0) return iFragmentPos;

Legend:
Removed from v.2879  
changed lines
  Added in v.2931

  ViewVC Help
Powered by ViewVC