fix speaker issues due to api change, fix switch statement, add icon in external folder
This commit is contained in:
parent
dbbf149344
commit
3003355eb7
@ -8,6 +8,7 @@ App(
|
|||||||
"gui",
|
"gui",
|
||||||
],
|
],
|
||||||
fap_icon="metronome_icon.png",
|
fap_icon="metronome_icon.png",
|
||||||
|
fap_icon_assets="icons",
|
||||||
fap_category="Music",
|
fap_category="Music",
|
||||||
stack_size=2 * 1024,
|
stack_size=2 * 1024,
|
||||||
order=20,
|
order=20,
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <gui/canvas.h>
|
#include <gui/canvas.h>
|
||||||
#include <gui/icon_i.h>
|
#include <gui/icon_i.h>
|
||||||
|
#include "metronome_icons.h"
|
||||||
|
|
||||||
//lib can only do bottom left/right
|
//lib can only do bottom left/right
|
||||||
void elements_button_top_left(Canvas* canvas, const char* str) {
|
void elements_button_top_left(Canvas* canvas, const char* str) {
|
||||||
|
BIN
icons/ButtonUp_7x4.png
Normal file
BIN
icons/ButtonUp_7x4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 102 B |
20
metronome.c
20
metronome.c
@ -135,7 +135,9 @@ static void timer_callback(void* ctx) {
|
|||||||
notification_message(metronome_state->notifications, &sequence_set_only_red_255);
|
notification_message(metronome_state->notifications, &sequence_set_only_red_255);
|
||||||
switch(metronome_state->output_mode) {
|
switch(metronome_state->output_mode) {
|
||||||
case Loud:
|
case Loud:
|
||||||
furi_hal_speaker_start(440.0f, 1.0f);
|
if (furi_hal_speaker_acquire(1000)) {
|
||||||
|
furi_hal_speaker_start(440.0f, 1.0f);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Vibro:
|
case Vibro:
|
||||||
notification_message(metronome_state->notifications, &sequence_set_vibro_on);
|
notification_message(metronome_state->notifications, &sequence_set_vibro_on);
|
||||||
@ -148,7 +150,9 @@ static void timer_callback(void* ctx) {
|
|||||||
notification_message(metronome_state->notifications, &sequence_set_only_green_255);
|
notification_message(metronome_state->notifications, &sequence_set_only_green_255);
|
||||||
switch(metronome_state->output_mode) {
|
switch(metronome_state->output_mode) {
|
||||||
case Loud:
|
case Loud:
|
||||||
furi_hal_speaker_start(220.0f, 1.0f);
|
if (furi_hal_speaker_acquire(1000)) {
|
||||||
|
furi_hal_speaker_start(220.0f, 1.0f);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Vibro:
|
case Vibro:
|
||||||
notification_message(metronome_state->notifications, &sequence_set_vibro_on);
|
notification_message(metronome_state->notifications, &sequence_set_vibro_on);
|
||||||
@ -162,7 +166,10 @@ static void timer_callback(void* ctx) {
|
|||||||
switch(metronome_state->output_mode) {
|
switch(metronome_state->output_mode) {
|
||||||
case Loud:
|
case Loud:
|
||||||
furi_delay_ms(BEEP_DELAY_MS);
|
furi_delay_ms(BEEP_DELAY_MS);
|
||||||
furi_hal_speaker_stop();
|
if (furi_hal_speaker_is_mine()) {
|
||||||
|
furi_hal_speaker_stop();
|
||||||
|
furi_hal_speaker_release();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Vibro:
|
case Vibro:
|
||||||
if (metronome_state->current_beat == 1) {
|
if (metronome_state->current_beat == 1) {
|
||||||
@ -269,6 +276,7 @@ int32_t metronome_app() {
|
|||||||
metronome_state->timer = furi_timer_alloc(timer_callback, FuriTimerTypePeriodic, &state_mutex);
|
metronome_state->timer = furi_timer_alloc(timer_callback, FuriTimerTypePeriodic, &state_mutex);
|
||||||
|
|
||||||
// Open GUI and register view_port
|
// Open GUI and register view_port
|
||||||
|
//
|
||||||
Gui* gui = furi_record_open("gui");
|
Gui* gui = furi_record_open("gui");
|
||||||
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
|
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
|
||||||
|
|
||||||
@ -306,6 +314,8 @@ int32_t metronome_app() {
|
|||||||
case InputKeyBack:
|
case InputKeyBack:
|
||||||
processing = false;
|
processing = false;
|
||||||
break;
|
break;
|
||||||
|
case InputKeyMAX:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if (event.input.type == InputTypeLong) {
|
} else if (event.input.type == InputTypeLong) {
|
||||||
// hold events
|
// hold events
|
||||||
@ -326,6 +336,8 @@ int32_t metronome_app() {
|
|||||||
case InputKeyBack:
|
case InputKeyBack:
|
||||||
processing = false;
|
processing = false;
|
||||||
break;
|
break;
|
||||||
|
case InputKeyMAX:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if (event.input.type == InputTypeRepeat) {
|
} else if (event.input.type == InputTypeRepeat) {
|
||||||
// repeat events
|
// repeat events
|
||||||
@ -345,6 +357,8 @@ int32_t metronome_app() {
|
|||||||
case InputKeyBack:
|
case InputKeyBack:
|
||||||
processing = false;
|
processing = false;
|
||||||
break;
|
break;
|
||||||
|
case InputKeyMAX:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user