bool MIDIFileReadMultiTrack::mf_timesig ( MIDIClockTime time, int num, int den_pow, int clks_per_metro, int notated_32nd_per_quarter ) // funcVRM { MIDITimedMessage msg; msg.SetTime ( time ); msg.SetTimeSig ( num, den_pow, clks_per_metro, notated_32nd_per_quarter ); msg.SetDataLength( 5 ); // VRM // source 4 bytes + 1 byte for denominator return AddEventToMultiTrack ( msg, 0, cur_track ); }
void MIDIFileReadMultiTrack::mf_timesig ( MIDIClockTime time, int num, int denom_power, int clks_per_metro, int notated_32nd_per_quarter ) { MIDITimedMessage msg; int denom= 1<<denom_power; msg.SetTimeSig ( ( unsigned char ) num, ( unsigned char ) denom ); msg.SetTime ( time ); MIDISystemExclusive *sysex = new MIDISystemExclusive ( 4 ); sysex->PutByte ( ( unsigned char ) num ); sysex->PutByte ( ( unsigned char ) denom_power ); sysex->PutByte ( ( unsigned char ) clks_per_metro ); sysex->PutByte ( ( unsigned char ) notated_32nd_per_quarter ); AddEventToMultiTrack ( msg, sysex, cur_track ); }