Files
Momentum-Firmware/applications/external/flizzer_tracker/tracker_engine/tracker_engine.h
2023-06-17 22:12:41 +01:00

28 lines
1.2 KiB
C

#pragma once
#include "do_effects.h"
#include "tracker_engine_defs.h"
void tracker_engine_init(TrackerEngine* tracker_engine, uint8_t rate, SoundEngine* sound_engine);
void tracker_engine_deinit(TrackerEngine* tracker_engine, bool free_song);
void tracker_engine_advance_tick(TrackerEngine* tracker_engine);
void tracker_engine_set_song(TrackerEngine* tracker_engine, TrackerSong* song);
void tracker_engine_deinit_song(TrackerSong* song, bool free_song);
void tracker_engine_trigger_instrument_internal(
TrackerEngine* tracker_engine,
uint8_t chan,
Instrument* pinst,
uint16_t note);
uint8_t tracker_engine_get_note(TrackerSongPatternStep* step);
uint8_t tracker_engine_get_instrument(TrackerSongPatternStep* step);
uint8_t tracker_engine_get_volume(TrackerSongPatternStep* step);
uint16_t tracker_engine_get_command(TrackerSongPatternStep* step);
void set_note(TrackerSongPatternStep* step, uint8_t note);
void set_instrument(TrackerSongPatternStep* step, uint8_t inst);
void set_volume(TrackerSongPatternStep* step, uint8_t vol);
void set_command(TrackerSongPatternStep* step, uint16_t command);
void set_default_instrument(Instrument* inst);
void set_empty_pattern(TrackerSongPattern* pattern, uint16_t pattern_length);