45 lines
1.7 KiB
C
45 lines
1.7 KiB
C
|
namespace cw
|
||
|
{
|
||
|
namespace midi
|
||
|
{
|
||
|
namespace device
|
||
|
{
|
||
|
namespace alsa
|
||
|
{
|
||
|
|
||
|
typedef handle< struct alsa_device_str> handle_t;
|
||
|
|
||
|
rc_t create( handle_t& h, cbFunc_t cbFunc, void* cbDataPtr, unsigned parserBufByteCnt, const char* appNameStr );
|
||
|
rc_t destroy( handle_t& h);
|
||
|
bool isInitialized( handle_t h );
|
||
|
|
||
|
struct pollfd* pollFdArray( handle_t h, unsigned& arrayCntRef );
|
||
|
rc_t handleInputMsg( handle_t h );
|
||
|
|
||
|
unsigned count( handle_t h );
|
||
|
const char* name( handle_t h, unsigned devIdx );
|
||
|
unsigned nameToIndex(handle_t h, const char* deviceName);
|
||
|
unsigned portCount( handle_t h, unsigned devIdx, unsigned flags );
|
||
|
const char* portName( handle_t h, unsigned devIdx, unsigned flags, unsigned portIdx );
|
||
|
unsigned portNameToIndex( handle_t h, unsigned devIdx, unsigned flags, const char* portName );
|
||
|
rc_t portEnable( handle_t h, unsigned devIdx, unsigned flags, unsigned portIdx, bool enableFl );
|
||
|
|
||
|
rc_t send( handle_t h, unsigned devIdx, unsigned portIdx, uint8_t st, uint8_t d0, uint8_t d1 );
|
||
|
rc_t sendData( handle_t h, unsigned devIdx, unsigned portIdx, const uint8_t* dataPtr, unsigned byteCnt );
|
||
|
|
||
|
|
||
|
// Latency measurment:
|
||
|
// Record the time of the next incoming note-on msg
|
||
|
// and the time of the next outgoing note-on msg
|
||
|
|
||
|
// Reset the latency measurement process.
|
||
|
void latency_measure_reset(handle_t h);
|
||
|
latency_meas_result_t latency_measure_result(handle_t h);
|
||
|
|
||
|
void report( handle_t h, textBuf::handle_t tbH);
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|