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 - 2013 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This library is free software; you can redistribute it and/or modify * |
* This library is free software; you can redistribute it and/or modify * |
9 |
* 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 * |
242 |
|
|
243 |
static void SendLSCPNotify( LSCPEvent Event ); |
static void SendLSCPNotify( LSCPEvent Event ); |
244 |
static int EventSubscribers( std::list<LSCPEvent::event_t> events ); |
static int EventSubscribers( std::list<LSCPEvent::event_t> events ); |
245 |
static void LockRTNotify(); |
static String FilterEndlines(String s); |
246 |
static void UnlockRTNotify(); |
|
247 |
static String FilterEndlines(String s); |
//Protect main thread that generates real time notify messages |
248 |
|
//like voice count, stream count and buffer fill |
249 |
|
//from LSCP server removing engines and channels from underneath |
250 |
|
static Mutex RTNotifyMutex; |
251 |
|
|
252 |
protected: |
protected: |
253 |
int hSocket; |
int hSocket; |
296 |
static std::map< LSCPEvent::event_t, std::list<int> > eventSubscriptions; |
static std::map< LSCPEvent::event_t, std::list<int> > eventSubscriptions; |
297 |
static fd_set fdSet; |
static fd_set fdSet; |
298 |
|
|
|
//Protect main thread that generates real time notify messages |
|
|
//like voice count, stream count and buffer fill |
|
|
//from LSCP server removing engines and channels from underneath |
|
|
static Mutex RTNotifyMutex; |
|
|
|
|
299 |
class EventHandler : public ChannelCountListener, public AudioDeviceCountListener, |
class EventHandler : public ChannelCountListener, public AudioDeviceCountListener, |
300 |
public MidiDeviceCountListener, public MidiInstrumentCountListener, |
public MidiDeviceCountListener, public MidiInstrumentCountListener, |
301 |
public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener, |
public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener, |