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 * |
101 |
|
|
102 |
AudioOutputDevice* GetAudioOutputDeviceSafe(); |
AudioOutputDevice* GetAudioOutputDeviceSafe(); |
103 |
|
|
104 |
|
script_callback_id_t GetScriptCallbackID(const ScriptEvent* e) const { |
105 |
|
return pScript->pEvents->getID(e); |
106 |
|
} |
107 |
|
|
108 |
|
RTList<ScriptEvent>::Iterator ScriptCallbackByID(script_callback_id_t id) const { |
109 |
|
return pScript->pEvents->fromID(id); |
110 |
|
} |
111 |
|
|
112 |
|
void ScheduleResumeOfScriptCallback(RTList<ScriptEvent>::Iterator& itCallback, sched_time_t now, bool forever); |
113 |
|
|
114 |
friend class AbstractVoice; |
friend class AbstractVoice; |
115 |
friend class AbstractEngine; |
friend class AbstractEngine; |
116 |
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; |
196 |
virtual note_id_t ScheduleNoteMicroSec(const Event* pEvent, int delay) = 0; |
virtual note_id_t ScheduleNoteMicroSec(const Event* pEvent, int delay) = 0; |
197 |
event_id_t ScheduleEventMicroSec(const Event* pEvent, int delay); |
event_id_t ScheduleEventMicroSec(const Event* pEvent, int delay); |
198 |
void IgnoreEvent(event_id_t id); |
void IgnoreEvent(event_id_t id); |
199 |
void IgnoreNote(note_id_t id); |
virtual void IgnoreNote(note_id_t id) = 0; |
200 |
void IgnoreEventByScriptID(const ScriptID& id); |
void IgnoreEventByScriptID(const ScriptID& id); |
201 |
|
virtual uint AllNoteIDs(note_id_t* dstBuf, uint bufSize) = 0; |
202 |
|
|
203 |
void AddGroup(uint group); |
void AddGroup(uint group); |
204 |
void HandleKeyGroupConflicts(uint KeyGroup, Pool<Event>::Iterator& itNoteOnEvent); |
void HandleKeyGroupConflicts(uint KeyGroup, Pool<Event>::Iterator& itNoteOnEvent); |