SG 3 лет назад
Родитель
Сommit
b893962f85
2 измененных файлов с 8 добавлено и 8 удалено
  1. 7 7
      tracker_engine/tracker.c
  2. 1 1
      tracker_engine/tracker.h

+ 7 - 7
tracker_engine/tracker.c

@@ -40,7 +40,7 @@ typedef struct {
 } UnpackedRow;
 
 struct Tracker {
-    Song* song;
+    const Song* song;
     bool playing;
     TrackerMessageCallback callback;
     void* context;
@@ -126,9 +126,9 @@ static float frequency_get_seventh_of_a_semitone(float frequency) {
     return frequency * ((1.0f / 12.0f) / 7.0f);
 }
 
-static UnpackedRow get_current_row(Song* song, SongState* song_state, uint8_t channel) {
-    Pattern* pattern = &song->patterns[song_state->pattern_index];
-    Row row = pattern->channels[channel].rows[song_state->row_index];
+static UnpackedRow get_current_row(const Song* song, SongState* song_state, uint8_t channel) {
+    const Pattern* pattern = &song->patterns[song_state->pattern_index];
+    const Row row = pattern->channels[channel].rows[song_state->row_index];
     return (UnpackedRow){
         .note = record_get_note(row),
         .effect = record_get_effect(row),
@@ -136,7 +136,7 @@ static UnpackedRow get_current_row(Song* song, SongState* song_state, uint8_t ch
     };
 }
 
-static int16_t advance_order_and_get_next_pattern_index(Song* song, SongState* song_state) {
+static int16_t advance_order_and_get_next_pattern_index(const Song* song, SongState* song_state) {
     song_state->order_list_index++;
     if(song_state->order_list_index >= song->order_list_size) {
         return -1;
@@ -205,7 +205,7 @@ static void tracker_interrupt_body(Tracker* tracker) {
     const uint8_t channel_index = 0;
     SongState* song_state = &tracker->song_state;
     ChannelState* channel_state = &song_state->channels[channel_index];
-    Song* song = tracker->song;
+    const Song* song = tracker->song;
     UnpackedRow row = get_current_row(song, song_state, channel_index);
 
     // load frequency from note at tick 0
@@ -403,7 +403,7 @@ void tracker_set_message_callback(Tracker* tracker, TrackerMessageCallback callb
     tracker->context = context;
 }
 
-void tracker_set_song(Tracker* tracker, Song* song) {
+void tracker_set_song(Tracker* tracker, const Song* song) {
     furi_check(tracker->playing == false);
     tracker->song = song;
     tracker_song_state_init(tracker);

+ 1 - 1
tracker_engine/tracker.h

@@ -27,7 +27,7 @@ void tracker_free(Tracker* tracker);
 
 void tracker_set_message_callback(Tracker* tracker, TrackerMessageCallback callback, void* context);
 
-void tracker_set_song(Tracker* tracker, Song* song);
+void tracker_set_song(Tracker* tracker, const Song* song);
 
 void tracker_set_order_index(Tracker* tracker, uint8_t order_index);