#include <SMFReader.hpp>
Public Member Functions | |
bool | open (const std::string &filename) |
bool | seek_to_track (unsigned track) throw (std::logic_error) |
uint16_t | type () const |
uint16_t | ppqn () const |
size_t | num_tracks () |
int | read_event (size_t buf_len, uint8_t *buf, uint32_t *ev_size, uint32_t *ev_delta_time) throw (std::logic_error) |
void | close () |
Protected Member Functions | |
uint32_t | read_var_len () const |
Protected Attributes | |
std::string | _filename |
FILE * | _fd |
uint16_t | _type |
uint16_t | _ppqn |
uint16_t | _num_tracks |
uint32_t | _track |
uint32_t | _track_size |
Static Protected Attributes | |
static const uint32_t | HEADER_SIZE = 22 |
size of SMF header, including MTrk chunk header |
Currently this only reads SMF files with tempo-based timing.