3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
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-2020 Christian Schoenebeck * |
7 |
* Copyright (C) 2009-2012 Christian Schoenebeck and Grigor Iliev * |
* Copyright (C) 2009-2012 Grigor Iliev * |
8 |
* Copyright (C) 2012-2017 Christian Schoenebeck and Andreas Persson * |
* Copyright (C) 2012-2017 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 * |
276 |
|
|
277 |
uint AbstractEngineChannel::GetMidiInputPortCount() { |
uint AbstractEngineChannel::GetMidiInputPortCount() { |
278 |
Sync< ArrayList<MidiInputPort*> > connections = midiInputs.back(); |
Sync< ArrayList<MidiInputPort*> > connections = midiInputs.back(); |
279 |
return connections->size(); |
return (uint) connections->size(); |
280 |
} |
} |
281 |
|
|
282 |
MidiInputPort* AbstractEngineChannel::GetMidiInputPort(uint index) { |
MidiInputPort* AbstractEngineChannel::GetMidiInputPort(uint index) { |
890 |
* @param delay - amount of microseconds in future (from now) when event shall be processed |
* @param delay - amount of microseconds in future (from now) when event shall be processed |
891 |
* @returns unique event ID of scheduled new event, or NULL on error |
* @returns unique event ID of scheduled new event, or NULL on error |
892 |
*/ |
*/ |
893 |
event_id_t AbstractEngineChannel::ScheduleEventMicroSec(const Event* pEvent, int delay) { |
event_id_t AbstractEngineChannel::ScheduleEventMicroSec(const Event* pEvent, int64_t delay) { |
894 |
dmsg(3,("AbstractEngineChannel::ScheduleEventMicroSec(Event.Type=%d,delay=%d)\n", pEvent->Type, delay)); |
dmsg(3,("AbstractEngineChannel::ScheduleEventMicroSec(Event.Type=%d,delay=%lld)\n", pEvent->Type, delay)); |
895 |
RTList<Event>::Iterator itEvent = pEvents->allocAppend(); |
RTList<Event>::Iterator itEvent = pEvents->allocAppend(); |
896 |
if (!itEvent) { |
if (!itEvent) { |
897 |
dmsg(1,("AbstractEngineChannel::ScheduleEventMicroSec(): Event pool emtpy!\n")); |
dmsg(1,("AbstractEngineChannel::ScheduleEventMicroSec(): Event pool emtpy!\n")); |