/[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 2630 by schoenebeck, Fri Jun 13 15:01:06 2014 UTC revision 2871 by schoenebeck, Sun Apr 10 18:22:23 2016 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) 2013-2014 Christian Schoenebeck and Andreas Persson     *   *   Copyright (C) 2012-2016 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 123  namespace LinuxSampler { Line 123  namespace LinuxSampler {
123              midi_chan_t               midiChannel;              ///< MIDI channel(s) on which this engine channel listens to (on all MIDI input ports).              midi_chan_t               midiChannel;              ///< MIDI channel(s) on which this engine channel listens to (on all MIDI input ports).
124              RingBuffer<Event,false>*  pEventQueue;              ///< Input event queue.              RingBuffer<Event,false>*  pEventQueue;              ///< Input event queue.
125              RTList<Event>*            pEvents;                  ///< All engine channel specific events for the current audio fragment.              RTList<Event>*            pEvents;                  ///< All engine channel specific events for the current audio fragment.
126                struct _DelayedEvents {
127                    RTList<Event>*            pList; ///< Unsorted list where all delayed events are moved to and remain here until they're finally processed.
128                    Pool<ScheduledEvent>      schedulerNodes; ///< Nodes used to sort the delayed events (stored on pList) with time sorted queue.
129                    RTAVLTree<ScheduledEvent> queue; ///< Used to access the delayed events (from pList) in time sorted manner.
130    
131                    _DelayedEvents() : pList(NULL), schedulerNodes(CONFIG_MAX_EVENTS_PER_FRAGMENT) {}
132    
133                    inline void clear() {
134                        if (pList) pList->clear();
135                        schedulerNodes.clear();
136                        queue.clear();
137                    }
138                } delayedEvents;
139              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[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.
140              String                    InstrumentFile;              String                    InstrumentFile;
141              int                       InstrumentIdx;              int                       InstrumentIdx;
# Line 166  namespace LinuxSampler { Line 179  namespace LinuxSampler {
179              ActiveKeyGroupMap ActiveKeyGroups;      ///< Contains event queues for key groups, ordered by key group ID.              ActiveKeyGroupMap ActiveKeyGroups;      ///< Contains event queues for key groups, ordered by key group ID.
180    
181              virtual void ResetControllers();              virtual void ResetControllers();
182              virtual void ResetInternal();              virtual void ResetInternal(bool bResetEngine);
183              virtual void RemoveAllFxSends();              virtual void RemoveAllFxSends();
184    
185              void ImportEvents(uint Samples);              void ImportEvents(uint Samples);
186              int  ScheduleEvent(const Event* pEvent, int delay); //TODO: delay not implemented yet              int  ScheduleEventMicroSec(const Event* pEvent, int delay);
187              void IgnoreEvent(int id);              void IgnoreEvent(int id);
188    
189              void AddGroup(uint group);              void AddGroup(uint group);

Legend:
Removed from v.2630  
changed lines
  Added in v.2871

  ViewVC Help
Powered by ViewVC