tracker_engine.h 1.2 KB

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "do_effects.h"
  3. #include "tracker_engine_defs.h"
  4. void tracker_engine_init(TrackerEngine *tracker_engine, uint8_t rate, SoundEngine *sound_engine);
  5. void tracker_engine_deinit(TrackerEngine *tracker_engine, bool free_song);
  6. void tracker_engine_advance_tick(TrackerEngine *tracker_engine);
  7. void tracker_engine_set_song(TrackerEngine *tracker_engine, TrackerSong *song);
  8. void tracker_engine_deinit_song(TrackerSong *song, bool free_song);
  9. void tracker_engine_trigger_instrument_internal(TrackerEngine *tracker_engine, uint8_t chan, Instrument *pinst, uint16_t note);
  10. uint8_t tracker_engine_get_note(TrackerSongPatternStep *step);
  11. uint8_t tracker_engine_get_instrument(TrackerSongPatternStep *step);
  12. uint8_t tracker_engine_get_volume(TrackerSongPatternStep *step);
  13. uint16_t tracker_engine_get_command(TrackerSongPatternStep *step);
  14. void set_note(TrackerSongPatternStep *step, uint8_t note);
  15. void set_instrument(TrackerSongPatternStep *step, uint8_t inst);
  16. void set_volume(TrackerSongPatternStep *step, uint8_t vol);
  17. void set_command(TrackerSongPatternStep *step, uint16_t command);
  18. void set_default_instrument(Instrument *inst);
  19. void set_empty_pattern(TrackerSongPattern *pattern, uint16_t pattern_length);