1 // event.h 2 // 3 /**************************************************************************** 4 liblscp - LinuxSampler Control Protocol API 5 Copyright (C) 2004-2021, rncbc aka Rui Nuno Capela. All rights reserved. 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or (at your option) any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU General Public License along 18 with this program; if not, write to the Free Software Foundation, Inc., 19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 21 *****************************************************************************/ 22 23 #ifndef __LSCP_EVENT_H 24 #define __LSCP_EVENT_H 25 26 #include "lscp/socket.h" 27 28 #if defined(__cplusplus) 29 extern "C" { 30 #endif 31 32 33 /** Subscribable event notification types. */ 34 typedef enum _lscp_event_t 35 { 36 LSCP_EVENT_NONE = 0x0000, 37 LSCP_EVENT_CHANNEL_COUNT = 0x0001, 38 LSCP_EVENT_VOICE_COUNT = 0x0002, 39 LSCP_EVENT_STREAM_COUNT = 0x0004, 40 LSCP_EVENT_BUFFER_FILL = 0x0008, 41 LSCP_EVENT_CHANNEL_INFO = 0x0010, 42 LSCP_EVENT_TOTAL_VOICE_COUNT = 0x0020, 43 LSCP_EVENT_AUDIO_OUTPUT_DEVICE_COUNT = 0x0040, 44 LSCP_EVENT_AUDIO_OUTPUT_DEVICE_INFO = 0x0080, 45 LSCP_EVENT_MIDI_INPUT_DEVICE_COUNT = 0x0100, 46 LSCP_EVENT_MIDI_INPUT_DEVICE_INFO = 0x0200, 47 LSCP_EVENT_MIDI_INSTRUMENT_MAP_COUNT = 0x0400, 48 LSCP_EVENT_MIDI_INSTRUMENT_MAP_INFO = 0x1000, 49 LSCP_EVENT_MIDI_INSTRUMENT_COUNT = 0x2000, 50 LSCP_EVENT_MIDI_INSTRUMENT_INFO = 0x4000, 51 LSCP_EVENT_MISCELLANEOUS = 0x8000, 52 // from these new events on, we simply enumerate them, 53 // no dedicated bit flags anymore ... 54 LSCP_EVENT_CHANNEL_MIDI = 0x00010000, 55 LSCP_EVENT_DEVICE_MIDI = 0x00020000 56 } lscp_event_t; 57 58 59 //------------------------------------------------------------------------- 60 // Simple event helper functions. 61 62 const char * lscp_event_to_text ( lscp_event_t event ); 63 lscp_event_t lscp_event_from_text ( const char *pszText ); 64 65 66 #if defined(__cplusplus) 67 } 68 #endif 69 70 #endif // __LSCP_EVENT_H 71 72 // end of event.h 73