/[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 3562 by schoenebeck, Fri Aug 23 11:44:00 2019 UTC revision 3563 by schoenebeck, Fri Aug 23 13:33:21 2019 UTC
# Line 204  namespace LinuxSampler { Line 204  namespace LinuxSampler {
204                   * applied relatively against other sources (i.e. LFOs, EGs)                   * applied relatively against other sources (i.e. LFOs, EGs)
205                   * for the same synthesis parameter.                   * for the same synthesis parameter.
206                   */                   */
207                  SELF_RELATIVE,                  SELF_RELATIVE = 1,
208                  /**                  /**
209                   * The new synthesis paramater value of itself should be                   * The new synthesis paramater value of itself should be
210                   * replaced, and then applied relatively to other sources                   * replaced, and then applied relatively to other sources
211                   * (i.e. LFOs, EGs) for the same synthesis parameter.                   * (i.e. LFOs, EGs) for the same synthesis parameter.
212                   */                   */
213                  RELATIVE,                  RELATIVE = 0, //IMPORANT: must remain 0 because of the union structure below which would otherwise i.e. assign invalid pointers/IDs to Param.Note structure in Init()
214                  /**                  /**
215                   * The new synthesis parameter value should be applied                   * The new synthesis parameter value should be applied
216                   * relatively to itself (as normalized value range), and then                   * relatively to itself (as normalized value range), and then
# Line 218  namespace LinuxSampler { Line 218  namespace LinuxSampler {
218                   * of this synthesis chain, thus all other sources (i.e. LFOs,                   * of this synthesis chain, thus all other sources (i.e. LFOs,
219                   * EGs) should entirely be ignored.                   * EGs) should entirely be ignored.
220                   */                   */
221                  FINAL_SELF_RELATIVE,                  FINAL_SELF_RELATIVE = 2,
222                  /**                  /**
223                   * The new synthesis parameter value of itself should be                   * The new synthesis parameter value of itself should be
224                   * replaced, and then applied directly (as normalized value                   * replaced, and then applied directly (as normalized value
225                   * range) as final value of this synthesis chain, thus all other                   * range) as final value of this synthesis chain, thus all other
226                   * sources (i.e. LFOs, EGs) should entirely be ignored.                   * sources (i.e. LFOs, EGs) should entirely be ignored.
227                   */                   */
228                  FINAL_NORM,                  FINAL_NORM = 3,
229                  /**                  /**
230                   * Same as @c FINAL_NORM, but this one is already in the native                   * Same as @c FINAL_NORM, but this one is already in the native
231                   * unit (i.e. seconds, Hz) of this synthesis parameter.                   * unit (i.e. seconds, Hz) of this synthesis parameter.
232                   */                   */
233                  FINAL_NATIVE,                  FINAL_NATIVE = 4,
234              };              };
235              union {              union {
236                  /// Note-on and note-off event specifics                  /// Note-on and note-off event specifics
# Line 286  namespace LinuxSampler { Line 286  namespace LinuxSampler {
286              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)
287    
288              inline void Init() {              inline void Init() {
289                    //FIXME: probably we should memset() zero entire structure here, due to potential union initialization conflicts (see comment on ValueScope::RELATIVE)
290                  Param.Note.ID = 0;                  Param.Note.ID = 0;
291                  Param.Note.ParentNoteID = 0;                  Param.Note.ParentNoteID = 0;
292                  Param.NoteSynthParam.NoteID = 0;                  Param.NoteSynthParam.NoteID = 0;

Legend:
Removed from v.3562  
changed lines
  Added in v.3563

  ViewVC Help
Powered by ViewVC