tracker_engine.h 1.2 KB

12345678910111213141516171819202122232425262728
  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(
  10. TrackerEngine* tracker_engine,
  11. uint8_t chan,
  12. Instrument* pinst,
  13. uint16_t note);
  14. uint8_t tracker_engine_get_note(TrackerSongPatternStep* step);
  15. uint8_t tracker_engine_get_instrument(TrackerSongPatternStep* step);
  16. uint8_t tracker_engine_get_volume(TrackerSongPatternStep* step);
  17. uint16_t tracker_engine_get_command(TrackerSongPatternStep* step);
  18. void set_note(TrackerSongPatternStep* step, uint8_t note);
  19. void set_instrument(TrackerSongPatternStep* step, uint8_t inst);
  20. void set_volume(TrackerSongPatternStep* step, uint8_t vol);
  21. void set_command(TrackerSongPatternStep* step, uint16_t command);
  22. void set_default_instrument(Instrument* inst);
  23. void set_empty_pattern(TrackerSongPattern* pattern, uint16_t pattern_length);