cwIoMidiRecordPlay.h/cpp : Added dev_count() and vel_table_???() to support vel. table tuner.
This commit is contained in:
parent
5b3299dea3
commit
1386e6db02
@ -1809,3 +1809,40 @@ void cw::midi_record_play::report( handle_t h )
|
|||||||
midi_record_play_t* p = _handleToPtr(h);
|
midi_record_play_t* p = _handleToPtr(h);
|
||||||
_report_midi(p);
|
_report_midi(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unsigned cw::midi_record_play::dev_count( handle_t h )
|
||||||
|
{
|
||||||
|
midi_record_play_t* p = _handleToPtr(h);
|
||||||
|
return p->midiDevN;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned cw::midi_record_play::vel_table_count( handle_t h, unsigned devIdx )
|
||||||
|
{
|
||||||
|
midi_record_play_t* p = _handleToPtr(h);
|
||||||
|
return p->midiDevA[ devIdx ].velTableN;
|
||||||
|
}
|
||||||
|
|
||||||
|
const uint8_t* cw::midi_record_play::vel_table( handle_t h, unsigned devIdx )
|
||||||
|
{
|
||||||
|
midi_record_play_t* p = _handleToPtr(h);
|
||||||
|
return p->midiDevA[ devIdx ].velTableArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
cw::rc_t cw::midi_record_play::vel_table_set( handle_t h, unsigned devIdx, const uint8_t* tbl, unsigned tblN )
|
||||||
|
{
|
||||||
|
midi_record_play_t* p = _handleToPtr(h);
|
||||||
|
|
||||||
|
midi_device_t* dev = p->midiDevA + devIdx;
|
||||||
|
|
||||||
|
if( tblN != dev->velTableN )
|
||||||
|
{
|
||||||
|
dev->velTableArray = mem::resize<uint8_t>(dev->velTableArray,tblN);
|
||||||
|
dev->velTableN = tblN;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(unsigned i=0; i<tblN; ++i)
|
||||||
|
dev->velTableArray[i] = tbl[i];
|
||||||
|
|
||||||
|
return kOkRC;
|
||||||
|
}
|
||||||
|
@ -27,6 +27,13 @@ namespace cw
|
|||||||
|
|
||||||
typedef void (*event_callback_t)( void* arg, unsigned actionId, unsigned id, const time::spec_t timestamp, unsigned loc, uint8_t ch, uint8_t status, uint8_t d0, uint8_t d1 );
|
typedef void (*event_callback_t)( void* arg, unsigned actionId, unsigned id, const time::spec_t timestamp, unsigned loc, uint8_t ch, uint8_t status, uint8_t d0, uint8_t d1 );
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
kPiano_MRP_DevIdx = 1,
|
||||||
|
kSampler_MRP_DevIdx = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rc_t create( handle_t& hRef, io::handle_t ioH, const object_t& cfg, event_callback_t cb=nullptr, void* cb_arg=nullptr );
|
rc_t create( handle_t& hRef, io::handle_t ioH, const object_t& cfg, event_callback_t cb=nullptr, void* cb_arg=nullptr );
|
||||||
rc_t destroy( handle_t& hRef );
|
rc_t destroy( handle_t& hRef );
|
||||||
@ -77,8 +84,16 @@ namespace cw
|
|||||||
rc_t am_to_midi_dir( const char* inDir );
|
rc_t am_to_midi_dir( const char* inDir );
|
||||||
rc_t am_to_midi_file( const object_t* cfg );
|
rc_t am_to_midi_file( const object_t* cfg );
|
||||||
|
|
||||||
|
unsigned dev_count( handle_t h );
|
||||||
|
|
||||||
|
unsigned vel_table_count( handle_t h, unsigned devIdx );
|
||||||
|
const uint8_t* vel_table( handle_t h, unsigned devIdx );
|
||||||
|
rc_t vel_table_set( handle_t h, unsigned devIdx, const uint8_t* tbl, unsigned tblN );
|
||||||
|
|
||||||
void report( handle_t h );
|
void report( handle_t h );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user