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

Diff of /linuxsampler/trunk/src/engines/AbstractEngineChannel.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 3095 by schoenebeck, Wed Jan 18 14:52:31 2017 UTC
# Line 5  Line 5 
5   *   Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck    *   *   Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck    *
6   *   Copyright (C) 2005-2008 Christian Schoenebeck                         *   *   Copyright (C) 2005-2008 Christian Schoenebeck                         *
7   *   Copyright (C) 2009-2012 Christian Schoenebeck and Grigor Iliev        *   *   Copyright (C) 2009-2012 Christian Schoenebeck and Grigor Iliev        *
8   *   Copyright (C) 2012-2016 Christian Schoenebeck and Andreas Persson     *   *   Copyright (C) 2012-2017 Christian Schoenebeck and Andreas Persson     *
9   *                                                                         *   *                                                                         *
10   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
11   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 37  Line 37 
37    
38  #define CTRL_TABLE_IDX_AFTERTOUCH   128  #define CTRL_TABLE_IDX_AFTERTOUCH   128
39  #define CTRL_TABLE_IDX_PITCHBEND    129  #define CTRL_TABLE_IDX_PITCHBEND    129
40    #define CTRL_TABLE_SIZE             130
41    
42  namespace LinuxSampler {  namespace LinuxSampler {
43    
# Line 101  namespace LinuxSampler { Line 102  namespace LinuxSampler {
102    
103              AudioOutputDevice* GetAudioOutputDeviceSafe();              AudioOutputDevice* GetAudioOutputDeviceSafe();
104    
105                script_callback_id_t GetScriptCallbackID(const ScriptEvent* e) const {
106                    return pScript->pEvents->getID(e);
107                }
108    
109                RTList<ScriptEvent>::Iterator ScriptCallbackByID(script_callback_id_t id) const {
110                    return pScript->pEvents->fromID(id);
111                }
112    
113                void ScheduleResumeOfScriptCallback(RTList<ScriptEvent>::Iterator& itCallback, sched_time_t now, bool forever);
114    
115              friend class AbstractVoice;              friend class AbstractVoice;
116              friend class AbstractEngine;              friend class AbstractEngine;
117              template<class TV, class TRR, class TR, class TD, class TIM, class TI> friend class EngineBase;              template<class TV, class TRR, class TR, class TD, class TIM, class TI> friend class EngineBase;
# Line 136  namespace LinuxSampler { Line 147  namespace LinuxSampler {
147                      queue.clear();                      queue.clear();
148                  }                  }
149              } delayedEvents;              } delayedEvents;
150              uint8_t                   ControllerTable[130];     ///< Reflects the current values (0-127) of all MIDI controllers for this engine / sampler channel. Number 128 is for channel pressure (mono aftertouch), 129 for pitch bend.              uint8_t                   ControllerTable[CTRL_TABLE_SIZE];     ///< Reflects the current values (0-127) of all MIDI controllers for this engine / sampler channel. Number 128 is for channel pressure (mono aftertouch), 129 for pitch bend.
151              String                    InstrumentFile;              String                    InstrumentFile;
152              int                       InstrumentIdx;              int                       InstrumentIdx;
153              String                    InstrumentIdxName;              String                    InstrumentIdxName;
# Line 186  namespace LinuxSampler { Line 197  namespace LinuxSampler {
197              virtual note_id_t ScheduleNoteMicroSec(const Event* pEvent, int delay) = 0;              virtual note_id_t ScheduleNoteMicroSec(const Event* pEvent, int delay) = 0;
198              event_id_t ScheduleEventMicroSec(const Event* pEvent, int delay);              event_id_t ScheduleEventMicroSec(const Event* pEvent, int delay);
199              void IgnoreEvent(event_id_t id);              void IgnoreEvent(event_id_t id);
200              void IgnoreNote(note_id_t id);              virtual void IgnoreNote(note_id_t id) = 0;
201              void IgnoreEventByScriptID(const ScriptID& id);              void IgnoreEventByScriptID(const ScriptID& id);
202                virtual uint AllNoteIDs(note_id_t* dstBuf, uint bufSize) = 0;
203    
204              void AddGroup(uint group);              void AddGroup(uint group);
205              void HandleKeyGroupConflicts(uint KeyGroup, Pool<Event>::Iterator& itNoteOnEvent);              void HandleKeyGroupConflicts(uint KeyGroup, Pool<Event>::Iterator& itNoteOnEvent);

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

  ViewVC Help
Powered by ViewVC