util.h 849 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stdio.h>
  4. #include "flizzer_tracker.h"
  5. #include "sound_engine/sound_engine_defs.h"
  6. #include "tracker_engine/tracker_engine.h"
  7. #include "tracker_engine/tracker_engine_defs.h"
  8. #include "macros.h"
  9. #define clamp(val, add, _min, _max) val = my_min(_max, my_max(_min, (int32_t)val + add))
  10. #define flipbit(val, bit) \
  11. { val ^= bit; };
  12. void reset_buffer(SoundEngine* sound_engine);
  13. void play_song(FlizzerTrackerApp* tracker, bool from_cursor);
  14. void stop_song(FlizzerTrackerApp* tracker);
  15. bool is_pattern_empty(TrackerSong* song, uint8_t pattern);
  16. bool check_and_allocate_pattern(TrackerSong* song, uint8_t pattern);
  17. void change_pattern_length(TrackerSong* song, uint16_t new_length);
  18. bool check_and_allocate_instrument(TrackerSong* song, uint8_t inst);
  19. void set_default_song(FlizzerTrackerApp* tracker);