lmms
Cross-platform music production software
Loading...
Searching...
No Matches
lmms::MidiFile Class Reference

MIDI file class for exporting purposes. More...

#include <MidiFile.h>

Classes

class  Section
 Base class for sections of MIDI file. More...
class  Header
 Represents MIDI header info. More...
struct  Event
 Represents a track event. See Event::Type for more info. More...
class  Track
 Represents a MIDI track. More...

Public Member Functions

 MidiFile (const std::filesystem::path &file, std::size_t numTracks)
 Open data stream for writing to file and create list of tracks.
void writeAllToStream ()
 Write all data (both header and tracks) to stream.

Public Attributes

Header m_header
 The sole file header.
std::vector< Track > m_tracks
 List of tracks.

Static Public Attributes

static constexpr tick_t TicksPerBeat = 128
 Default number of ticks per single beat.
static constexpr std::size_t BufferSize = 50 * 1024
 Maximum size of buffers used for each section.

Private Attributes

std::ofstream m_stream
 Write-only data stream.

Detailed Description

MIDI file class for exporting purposes.

Constructor & Destructor Documentation

◆ MidiFile()

lmms::MidiFile::MidiFile ( const std::filesystem::path & file,
std::size_t numTracks )

Open data stream for writing to file and create list of tracks.

Parameters
fileThe file to be opened
numTracksNumber of instrument (pattern and non-pattern) tracks

Member Function Documentation

◆ writeAllToStream()

void lmms::MidiFile::writeAllToStream ( )

Write all data (both header and tracks) to stream.

Member Data Documentation

◆ BufferSize

std::size_t lmms::MidiFile::BufferSize = 50 * 1024
staticconstexpr

Maximum size of buffers used for each section.

◆ m_header

Header lmms::MidiFile::m_header

The sole file header.

◆ m_stream

std::ofstream lmms::MidiFile::m_stream
private

Write-only data stream.

◆ m_tracks

std::vector<Track> lmms::MidiFile::m_tracks

List of tracks.

◆ TicksPerBeat

tick_t lmms::MidiFile::TicksPerBeat = 128
staticconstexpr

Default number of ticks per single beat.


The documentation for this class was generated from the following files: