#include <XMidiFile.h>
Public Member Functions | |
| XMidiFile (IDataSource *source, int pconvert) | |
| ~XMidiFile () | |
| int | number_of_tracks () |
| XMidiEventList * | GetEventList (uint32 track) |
Protected Attributes | |
| uint16 | num_tracks |
Private Member Functions | |
| XMidiFile () | |
| void | CreateNewEvent (int time) |
| int | GetVLQ (IDataSource *source, uint32 &quant) |
| int | GetVLQ2 (IDataSource *source, uint32 &quant) |
| void | AdjustTimings (uint32 ppqn) |
| void | ApplyFirstState (first_state &fs, int chan_mask) |
| int | ConvertNote (const int time, const unsigned char status, IDataSource *source, const int size) |
| int | ConvertEvent (const int time, const unsigned char status, IDataSource *source, const int size, first_state &fs) |
| int | ConvertSystemMessage (const int time, const unsigned char status, IDataSource *source) |
| int | CreateMT32SystemMessage (const int time, uint32 address_base, uint16 address_offset, uint32 len, const void *data=0, IDataSource *source=0) |
| int | ConvertFiletoList (IDataSource *source, const bool is_xmi, first_state &fs) |
| int | ExtractTracksFromXmi (IDataSource *source) |
| int | ExtractTracksFromMid (IDataSource *source, const uint32 ppqn, const int num_tracks, const bool type1) |
| int | ExtractTracks (IDataSource *source) |
| int | ExtractTracksFromU7V (IDataSource *source) |
| int | ExtractTracksFromXMIDIMT (IDataSource *source) |
| void | InsertDisplayEvents () |
Private Attributes | |
| XMidiEventList ** | events |
| XMidiEvent * | list |
| XMidiEvent * | branches |
| XMidiEvent * | current |
| XMidiEvent * | notes_on |
| bool | bank127 [16] |
| int | convert_type |
| bool | do_reverb |
| bool | do_chorus |
| int | chorus_value |
| int | reverb_value |
Static Private Attributes | |
| static const char | mt32asgm [128] |
| static const char | mt32asgs [256] |
| static const char | gmasmt32 [128] |
Classes | |
| struct | first_state |
Definition at line 40 of file XMidiFile.h.
| XMidiFile::XMidiFile | ( | IDataSource * | source, | |
| int | pconvert | |||
| ) |
Definition at line 524 of file XMidiFile.cpp.
References bank127, ExtractTracks(), and InsertDisplayEvents().
| XMidiFile::~XMidiFile | ( | ) |
Definition at line 536 of file XMidiFile.cpp.
References events, XMidiEvent::Free(), and num_tracks.
| XMidiFile::XMidiFile | ( | ) | [private] |
| void XMidiFile::AdjustTimings | ( | uint32 | ppqn | ) | [private] |
Definition at line 1001 of file XMidiFile.cpp.
References XMidiNoteStack::FindAndPop(), if(), list, XMidiEvent::next, prev, and XMidiNoteStack::Push().
Referenced by ExtractTracksFromMid().
| void XMidiFile::ApplyFirstState | ( | first_state & | fs, | |
| int | chan_mask | |||
| ) | [private] |
Definition at line 666 of file XMidiFile.cpp.
References XMidiFile::first_state::bank, NS_TIMIDITY::channel, chorus_value, convert_type, do_chorus, do_reverb, if(), PentZip::int(), list, XMidiFile::first_state::pan, XMidiFile::first_state::patch, reverb_value, and XMidiFile::first_state::vol.
Referenced by ExtractTracksFromMid().
| int XMidiFile::ConvertEvent | ( | const int | time, | |
| const unsigned char | status, | |||
| IDataSource * | source, | |||
| const int | size, | |||
| first_state & | fs | |||
| ) | [private] |
Definition at line 1073 of file XMidiFile.cpp.
References XMidiFile::first_state::bank, bank127, XMidiEvent::branch_index, branches, convert_type, CreateNewEvent(), current, XMidiEvent::data, XMidiEvent::ex, gmasmt32, mt32asgm, mt32asgs, XMidiFile::first_state::pan, XMidiFile::first_state::patch, IDataSource::read1(), XMidiEvent::status, XMidiEvent::time, and XMidiFile::first_state::vol.
Referenced by ConvertFiletoList().
| int XMidiFile::ConvertFiletoList | ( | IDataSource * | source, | |
| const bool | is_xmi, | |||
| first_state & | fs | |||
| ) | [private] |
Definition at line 1311 of file XMidiFile.cpp.
References ConvertEvent(), ConvertNote(), ConvertSystemMessage(), IDataSource::getPos(), IDataSource::getSize(), GetVLQ(), GetVLQ2(), IDataSource::read1(), IDataSource::seek(), and time.
Referenced by ExtractTracksFromMid(), and ExtractTracksFromXmi().
| int XMidiFile::ConvertNote | ( | const int | time, | |
| const unsigned char | status, | |||
| IDataSource * | source, | |||
| const int | size | |||
| ) | [private] |
Definition at line 1187 of file XMidiFile.cpp.
References CreateNewEvent(), current, XMidiEvent::data, XMidiEvent::ex, GetVLQ(), XMidiEvent::note_on, prev, IDataSource::read1(), and XMidiEvent::status.
Referenced by ConvertFiletoList().
| int XMidiFile::ConvertSystemMessage | ( | const int | time, | |
| const unsigned char | status, | |||
| IDataSource * | source | |||
| ) | [private] |
Definition at line 1232 of file XMidiFile.cpp.
References CreateNewEvent(), current, XMidiEvent::data, XMidiEvent::ex, GetVLQ(), IDataSource::read(), IDataSource::read1(), XMidiEvent::status, and XMidiEvent::sysex_data.
Referenced by ConvertFiletoList(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), and ExtractTracksFromXMIDIMT().
| int XMidiFile::CreateMT32SystemMessage | ( | const int | time, | |
| uint32 | address_base, | |||
| uint16 | address_offset, | |||
| uint32 | len, | |||
| const void * | data = 0, |
|||
| IDataSource * | source = 0 | |||
| ) | [private] |
Definition at line 1263 of file XMidiFile.cpp.
References CreateNewEvent(), current, XMidiEvent::ex, IDataSource::read(), XMidiEvent::status, XMidiEvent::sysex_data, and sysex_data_start.
Referenced by ExtractTracksFromU7V(), ExtractTracksFromXMIDIMT(), and InsertDisplayEvents().
| void XMidiFile::CreateNewEvent | ( | int | time | ) | [private] |
Definition at line 567 of file XMidiFile.cpp.
References current, list, XMidiEvent::next, and XMidiEvent::time.
Referenced by ConvertEvent(), ConvertNote(), ConvertSystemMessage(), and CreateMT32SystemMessage().
| int XMidiFile::ExtractTracks | ( | IDataSource * | source | ) | [private] |
Definition at line 1523 of file XMidiFile.cpp.
References chorus_value, convert_type, do_chorus, do_reverb, events, ExtractTracksFromMid(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), ExtractTracksFromXMIDIMT(), XMidiEvent::Free(), IDataSource::getPos(), num_tracks, perr, IDataSource::read(), IDataSource::read2(), IDataSource::read2high(), IDataSource::read4(), IDataSource::read4high(), reverb_value, IDataSource::seek(), and IDataSource::skip().
Referenced by XMidiFile().
| int XMidiFile::ExtractTracksFromMid | ( | IDataSource * | source, | |
| const uint32 | ppqn, | |||
| const int | num_tracks, | |||
| const bool | type1 | |||
| ) | [private] |
Definition at line 1465 of file XMidiFile.cpp.
References AdjustTimings(), ApplyFirstState(), XMidiEventList::branches, branches, ConvertFiletoList(), XMidiEventList::events, events, IDataSource::getPos(), IDataSource::getSize(), list, IDataSource::read(), IDataSource::read4high(), IDataSource::seek(), and IDataSource::skip().
Referenced by ExtractTracks().
| int XMidiFile::ExtractTracksFromU7V | ( | IDataSource * | source | ) | [private] |
Definition at line 1794 of file XMidiFile.cpp.
References all_dev_reset_base, branches, ConvertSystemMessage(), CreateMT32SystemMessage(), current, XMidiEventList::events, events, IDataSource::getSize(), list, num_tracks, patch_base, patch_mem_offset(), patch_mem_size, patch_template, perr, pout, IDataSource::read1(), rhythm_base, rhythm_mem_offset_note(), rhythm_mem_size, IDataSource::seek(), system_base, timbre_base, timbre_mem_offset(), timbre_mem_size, PatchMemData::timbre_num, time, U7PercussionData, and U7PercussionNotes.
Referenced by ExtractTracks().
| int XMidiFile::ExtractTracksFromXmi | ( | IDataSource * | source | ) | [private] |
Definition at line 1403 of file XMidiFile.cpp.
References XMidiEventList::branches, branches, XMidiEventList::chan_mask, ConvertFiletoList(), ConvertSystemMessage(), current, XMidiEventList::events, events, IDataSource::getPos(), IDataSource::getSize(), list, num_tracks, IDataSource::read(), IDataSource::read4high(), IDataSource::seek(), and IDataSource::skip().
Referenced by ExtractTracks().
| int XMidiFile::ExtractTracksFromXMIDIMT | ( | IDataSource * | source | ) | [private] |
Definition at line 1916 of file XMidiFile.cpp.
References all_dev_reset_base, branches, ConvertSystemMessage(), CreateMT32SystemMessage(), current, XMidiEventList::events, events, list, num_tracks, IDataSource::seek(), system_base, system_init_reverb, system_part_chans, system_part_rsv, and time.
Referenced by ExtractTracks().
| XMidiEventList * XMidiFile::GetEventList | ( | uint32 | track | ) |
Definition at line 549 of file XMidiFile.cpp.
References events, num_tracks, and perr.
Referenced by LowLevelMidiDriver::loadTimbreLibrary(), MusicProcess::playMusic_internal(), and MusicProcess::run().
| int XMidiFile::GetVLQ | ( | IDataSource * | source, | |
| uint32 & | quant | |||
| ) | [private] |
Definition at line 614 of file XMidiFile.cpp.
References IDataSource::read1().
Referenced by ConvertFiletoList(), ConvertNote(), and ConvertSystemMessage().
| int XMidiFile::GetVLQ2 | ( | IDataSource * | source, | |
| uint32 & | quant | |||
| ) | [private] |
Definition at line 641 of file XMidiFile.cpp.
References IDataSource::read1(), and IDataSource::skip().
Referenced by ConvertFiletoList().
| void XMidiFile::InsertDisplayEvents | ( | ) | [private] |
Definition at line 1975 of file XMidiFile.cpp.
References CreateMT32SystemMessage(), current, display, display_base, display_beginning, display_beginning_bg, display_beginning_si, display_black_gate, display_mem_size, display_serpent_isle, XMidiEventList::events, events, list, XMidiEvent::next, and XMidiEvent::time.
Referenced by XMidiFile().
| int XMidiFile::number_of_tracks | ( | ) | [inline] |
bool XMidiFile::bank127[16] [private] |
XMidiEvent* XMidiFile::branches [private] |
Definition at line 49 of file XMidiFile.h.
Referenced by ConvertEvent(), ExtractTracksFromMid(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), and ExtractTracksFromXMIDIMT().
int XMidiFile::chorus_value [private] |
int XMidiFile::convert_type [private] |
Definition at line 57 of file XMidiFile.h.
Referenced by ApplyFirstState(), ConvertEvent(), and ExtractTracks().
XMidiEvent* XMidiFile::current [private] |
Definition at line 50 of file XMidiFile.h.
Referenced by ConvertEvent(), ConvertNote(), ConvertSystemMessage(), CreateMT32SystemMessage(), CreateNewEvent(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), ExtractTracksFromXMIDIMT(), and InsertDisplayEvents().
bool XMidiFile::do_chorus [private] |
bool XMidiFile::do_reverb [private] |
XMidiEventList** XMidiFile::events [private] |
Definition at line 46 of file XMidiFile.h.
Referenced by ExtractTracks(), ExtractTracksFromMid(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), ExtractTracksFromXMIDIMT(), GetEventList(), InsertDisplayEvents(), and ~XMidiFile().
const char XMidiFile::gmasmt32 [static, private] |
Initial value:
{
0x00, 0x01, 0x03, 0x07, 0x05, 0x06, 0x11, 0x15,
0x16, 0x65, 0x65, 0x62, 0x68, 0x67, 0x66, 0x69,
0x0C, 0x09, 0x0A, 0x0D, 0x0E, 0x0F, 0x57, 0x0F,
0x3B, 0x3C, 0x3B, 0x3E, 0x3D, 0x3B, 0x3E, 0x3E,
0x40, 0x43, 0x42, 0x47, 0x44, 0x45, 0x42 , 0x46,
0x35, 0x34, 0x36, 0x38, 0x35, 0x33, 0x39 , 0x70,
0X30, 0x32, 0x30, 0x32, 0x22, 0x2A, 0x21, 0x7A,
0X58, 0x5A, 0x5E, 0x59, 0x5C, 0x5F, 0x59, 0x5B,
0x4E, 0x4F, 0x50, 0x51, 0x54, 0x55, 0x56, 0x53,
0x4B, 0x49, 0x4C, 0x4D, 0x6E, 0x6B, 0x6C, 0x48,
0x2F, 0x43, 0x4B, 0x33, 0x3D, 0x48, 0x34, 0x43,
0x20, 0x21, 0x43, 0x22, 0x20, 0x20, 0x21, 0x21,
0x29, 0x24, 0x23, 0x25, 0x2D, 0x21, 0x2B, 0x20,
0x3F, 0x69, 0x69, 0x69, 0x33, 0x51, 0x34, 0x51,
0x17, 0x67, 0x67, 0x71, 0x75, 0x71, 0x74, 0x77,
0x7C, 0x78, 0x77, 0x7C, 0x7B, 0x78, 0x77, 0x72
}
Definition at line 55 of file XMidiFile.h.
Referenced by ConvertEvent().
XMidiEvent* XMidiFile::list [private] |
Definition at line 48 of file XMidiFile.h.
Referenced by AdjustTimings(), ApplyFirstState(), CreateNewEvent(), ExtractTracksFromMid(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), ExtractTracksFromXMIDIMT(), and InsertDisplayEvents().
const char XMidiFile::mt32asgm [static, private] |
const char XMidiFile::mt32asgs [static, private] |
XMidiEvent* XMidiFile::notes_on [private] |
Definition at line 51 of file XMidiFile.h.
uint16 XMidiFile::num_tracks [protected] |
Definition at line 43 of file XMidiFile.h.
Referenced by ExtractTracks(), ExtractTracksFromU7V(), ExtractTracksFromXmi(), ExtractTracksFromXMIDIMT(), GetEventList(), number_of_tracks(), and ~XMidiFile().
int XMidiFile::reverb_value [private] |
1.4.7