OpenTTD Source 20260206-master-g4d4e37dbf1
midifile.cpp File Reference

Parser for standard MIDI files. More...

#include "../stdafx.h"
#include "midifile.hpp"
#include "../fileio_func.h"
#include "../fileio_type.h"
#include "../string_func.h"
#include "../core/endian_func.hpp"
#include "../base_media_base.h"
#include "../base_media_music.h"
#include "midi.h"
#include "../console_func.h"
#include "../console_internal.h"
#include "table/strings.h"
#include "../safeguards.h"

Go to the source code of this file.

Data Structures

class  ByteBuffer
 Owning byte buffer readable as a stream. More...
struct  MpsMachine
 Decoder for "MPS MIDI" format data. More...
struct  MpsMachine::Channel
 Starting parameter and playback status for one channel/track. More...

Functions

const uint8_t * MidiGetStandardSysexMessage (MidiSysexMessage msg, size_t &length)
 Retrieve a well-known MIDI system exclusive message.
static bool ReadTrackChunk (FileHandle &file, MidiFile &target)
template<typename T>
bool TicktimeAscending (const T &a, const T &b)
static bool FixupMidiData (MidiFile &target)
static void WriteVariableLen (FileHandle &f, uint32_t value)
static bool CmdDumpSMF (std::span< std::string_view > argv)
static void RegisterConsoleMidiCommands ()

Variables

static MidiFile_midifile_instance = nullptr

Detailed Description

Parser for standard MIDI files.

Definition in file midifile.cpp.

Function Documentation

◆ CmdDumpSMF()

bool CmdDumpSMF ( std::span< std::string_view > argv)
static

Definition at line 1085 of file midifile.cpp.

◆ FixupMidiData()

bool FixupMidiData ( MidiFile & target)
static

Definition at line 349 of file midifile.cpp.

◆ MidiGetStandardSysexMessage()

const uint8_t * MidiGetStandardSysexMessage ( MidiSysexMessage msg,
size_t & length )

Retrieve a well-known MIDI system exclusive message.

Parameters
msgWhich sysex message to retrieve
[out]lengthReceives the length of the returned buffer
Returns
Pointer to byte buffer with sysex message

Definition at line 39 of file midifile.cpp.

References lengthof, ResetGM, ResetGS, ResetXG, and RolandSetReverb.

◆ ReadTrackChunk()

bool ReadTrackChunk ( FileHandle & file,
MidiFile & target )
static

Definition at line 193 of file midifile.cpp.

◆ RegisterConsoleMidiCommands()

void RegisterConsoleMidiCommands ( )
static

Definition at line 1113 of file midifile.cpp.

◆ TicktimeAscending()

template<typename T>
bool TicktimeAscending ( const T & a,
const T & b )

Definition at line 344 of file midifile.cpp.

◆ WriteVariableLen()

void WriteVariableLen ( FileHandle & f,
uint32_t value )
static

Definition at line 875 of file midifile.cpp.

Variable Documentation

◆ _midifile_instance

MidiFile* _midifile_instance = nullptr
static

Definition at line 31 of file midifile.cpp.