소스 검색

Merge flizzer_tracker from https://github.com/LTVA1/flizzer_tracker

Willy-JL 1 년 전
부모
커밋
d970bd0c2a

+ 0 - 3
flizzer_tracker/init_deinit.h

@@ -3,9 +3,6 @@
 #include "flizzer_tracker.h"
 #include "flizzer_tracker_hal.h"
 
-extern bool audio_modes_values[];
-extern char* audio_modes_text[];
-
 FlizzerTrackerApp* init_tracker(
     uint32_t sample_rate,
     uint8_t rate,

+ 0 - 2
flizzer_tracker/input/instrument.c

@@ -1,8 +1,6 @@
 #include "instrument.h"
 #include "songinfo.h"
 
-extern void return_from_keyboard_callback(void* ctx);
-
 void edit_instrument_param(FlizzerTrackerApp* tracker, uint8_t selected_param, int8_t delta) {
     if(!(tracker->current_digit)) {
         delta *= 16;

+ 0 - 2
flizzer_tracker/input/songinfo.c

@@ -2,8 +2,6 @@
 
 #include "../diskop.h"
 
-extern void return_from_keyboard_callback(void* ctx);
-
 void edit_songinfo_param(FlizzerTrackerApp* tracker, uint8_t selected_param, int8_t delta) {
     if(!(tracker->current_digit)) {
         delta *= 16;

+ 2 - 1
flizzer_tracker/input/songinfo.h

@@ -10,4 +10,5 @@
 #include "../tracker_engine/tracker_engine_defs.h"
 #include "../util.h"
 
-void songinfo_edit_event(FlizzerTrackerApp* tracker, FlizzerTrackerEvent* event);
+void songinfo_edit_event(FlizzerTrackerApp* tracker, FlizzerTrackerEvent* event);
+void return_from_keyboard_callback(void* ctx);

+ 0 - 3
flizzer_tracker/input_event.c

@@ -4,9 +4,6 @@
 
 #define AUDIO_MODES_COUNT 2
 
-extern bool audio_modes_values[];
-extern char* audio_modes_text[];
-
 void return_from_keyboard_callback(void* ctx) {
     FlizzerTrackerApp* tracker = (FlizzerTrackerApp*)ctx;
 

+ 2 - 1
flizzer_tracker/input_event.h

@@ -15,7 +15,8 @@
 #include "input/sequence.h"
 #include "input/songinfo.h"
 
-void return_from_keyboard_callback(void* ctx);
+extern bool audio_modes_values[];
+extern char* audio_modes_text[];
 
 void overwrite_file_widget_yes_input_callback(GuiButtonType result, InputType type, void* ctx);
 void overwrite_file_widget_no_input_callback(GuiButtonType result, InputType type, void* ctx);

+ 4 - 1
flizzer_tracker/sound_engine/sound_engine.c

@@ -37,7 +37,10 @@ void sound_engine_init(
     furi_hal_interrupt_set_isr(FuriHalInterruptIdDma1Ch1, NULL, NULL);
 
     furi_hal_interrupt_set_isr_ex(
-        FuriHalInterruptIdDma1Ch1, 15, sound_engine_dma_isr, sound_engine);
+        FuriHalInterruptIdDma1Ch1,
+        FuriHalInterruptPriorityHighest,
+        sound_engine_dma_isr,
+        sound_engine);
 
     sound_engine_init_hardware(
         sample_rate, external_audio_output, sound_engine->audio_buffer, audio_buffer_size);

+ 13 - 8
flizzer_tracker/tracker_engine/tracker_engine.c

@@ -10,7 +10,11 @@ void tracker_engine_init(TrackerEngine* tracker_engine, uint8_t rate, SoundEngin
     memset(tracker_engine, 0, sizeof(TrackerEngine));
 
     furi_hal_interrupt_set_isr_ex(
-        FuriHalInterruptIdTIM2, 14, tracker_engine_timer_isr, (void*)tracker_engine);
+        FuriHalInterruptIdTIM2,
+        FuriHalInterruptPriorityHighest,
+        tracker_engine_timer_isr,
+        (void*)tracker_engine);
+
     tracker_engine_init_hardware(rate);
 
     tracker_engine->sound_engine = sound_engine;
@@ -38,7 +42,8 @@ void tracker_engine_deinit_song(TrackerSong* song, bool free_song) {
 void tracker_engine_deinit(TrackerEngine* tracker_engine, bool free_song) {
     tracker_engine_deinit_song(tracker_engine->song, free_song);
 
-    furi_hal_interrupt_set_isr_ex(FuriHalInterruptIdTIM2, 13, NULL, NULL);
+    furi_hal_interrupt_set_isr_ex(
+        FuriHalInterruptIdTIM2, FuriHalInterruptPriorityHighest, NULL, NULL);
     tracker_engine_stop();
 }
 
@@ -400,9 +405,9 @@ void tracker_engine_advance_channel(TrackerEngine* tracker_engine, uint8_t chan)
 
             else {
                 te_channel->vibrato_position += ((uint32_t)te_channel->vibrato_speed << 21);
-                vib =
-                    (int32_t)(sound_engine_triangle(te_channel->vibrato_position >> 9) - WAVE_AMP / 2) *
-                    (int32_t)te_channel->vibrato_depth / (256 * 128);
+                vib = (int32_t)(sound_engine_triangle(te_channel->vibrato_position >> 9) -
+                                WAVE_AMP / 2) *
+                      (int32_t)te_channel->vibrato_depth / (256 * 128);
             }
         }
 
@@ -437,9 +442,9 @@ void tracker_engine_advance_channel(TrackerEngine* tracker_engine, uint8_t chan)
             tracker_engine->sound_engine->channel[chan].pw = tracker_engine->channel[chan].pw;
         }
 
-        int32_t chn_note =
-            (int16_t)(te_channel->fixed_note != 0xffff ? te_channel->fixed_note : te_channel->note) +
-            vib + ((int16_t)te_channel->arpeggio_note << 8);
+        int32_t chn_note = (int16_t)(te_channel->fixed_note != 0xffff ? te_channel->fixed_note :
+                                                                        te_channel->note) +
+                           vib + ((int16_t)te_channel->arpeggio_note << 8);
 
         if(chn_note < 0) {
             chn_note = 0;