Files
Momentum-Firmware/applications/main/infrared/scenes/infrared_scene_universal_bluray.c
jay candel 8348510476 [IR] Bluray/DVD Universal Remote (#250)
* New Bluray/DVD Remote Icons

* add Bluray/DVD Universal Remote

* update api_symbols v73.2

* Delete api_symbols.csv

* update api_symbols v73.2

* update f18 api_symbols v73.2

* update api_symbols v73.2 fr this time

* add new bluray universal db

* update api_symbols to LF

* convert icons to 1-bit B&W

* fbt format

* Must be in line with OFW

* Tweak buttons a little

* add ok button icons

* change 'stop' button to 'ok'

* add new ok icons

* update ok icons to 1bit b&w

* update f7 api_symbols

* update bluray_dvd.ir

* update bluray universal remote

changed stop to 'ok'
changed next & prev to fast f and fast b

* new icons

* update icons to 1-bit BW

* fbt format

* Delete applications/main/infrared/infrared_scene_universal_bluray.c

* Add files via upload

* Add files via upload

* change ok icon to a tick

* the last commit.

gotta remember to format icons as 1bit BW lmao

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-09 04:55:58 +02:00

170 lines
5.0 KiB
C

#include "../infrared_app_i.h"
#include "common/infrared_scene_universal_common.h"
#define TAG "InfraredUniversalBlurayDVD"
void infrared_scene_universal_bluray_on_enter(void* context) {
InfraredApp* infrared = context;
ButtonPanel* button_panel = infrared->button_panel;
InfraredBruteForce* brute_force = infrared->brute_force;
FURI_LOG_I(TAG, "Entering Universal Blu-ray/DVD scene");
infrared_brute_force_set_db_filename(brute_force, EXT_PATH("infrared/assets/bluray_dvd.ir"));
FURI_LOG_I(TAG, "Set database filename: %s", EXT_PATH("infrared/assets/bluray_dvd.ir"));
button_panel_reserve(button_panel, 2, 4);
uint32_t i = 0;
// Power button
button_panel_add_item(
button_panel,
i,
0,
0,
6,
13,
&I_power_19x20,
&I_power_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 4, 35, &I_power_text_24x5);
infrared_brute_force_add_record(brute_force, i++, "Power");
// Eject button (using mute icon as a placeholder)
button_panel_add_item(
button_panel,
i,
1,
0,
39,
13,
&I_eject_19x20,
&I_eject_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 39, 35, &I_eject_text_19x5);
infrared_brute_force_add_record(brute_force, i++, "Eject");
// Play button
button_panel_add_item(
button_panel,
i,
0,
1,
6,
42,
&I_play_19x20,
&I_play_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 6, 64, &I_play_text_19x5);
infrared_brute_force_add_record(brute_force, i++, "Play");
// Pause button
button_panel_add_item(
button_panel,
i,
1,
1,
39,
42,
&I_pause_19x20,
&I_pause_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 37, 64, &I_pause_text_23x5);
infrared_brute_force_add_record(brute_force, i++, "Pause");
// Fast Backward
button_panel_add_item(
button_panel,
i,
0,
2,
6,
71,
&I_fast_backward_19x20,
&I_fast_backward_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 4, 93, &I_fast_backward_text_19x6);
infrared_brute_force_add_record(brute_force, i++, "Fast_ba");
// Fast Forward button
button_panel_add_item(
button_panel,
i,
1,
2,
39,
71,
&I_fast_f_19x20,
&I_fast_f_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 39, 93, &I_fast_f_text_19x6);
infrared_brute_force_add_record(brute_force, i++, "Fast_fo");
// OK/Select Button
button_panel_add_item(
button_panel,
i,
0,
3,
6,
101,
&I_ok_19x20,
&I_ok_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 6, 123, &I_ok_text_19x5);
infrared_brute_force_add_record(brute_force, i++, "Ok");
// Subtitle/CC Button
button_panel_add_item(
button_panel,
i,
1,
3,
39,
101,
&I_subtitle_19x20,
&I_subtitle_hover_19x20,
infrared_scene_universal_common_item_callback,
context);
button_panel_add_icon(button_panel, 39, 123, &I_subtitle_text_19x5);
infrared_brute_force_add_record(brute_force, i++, "Subtitle");
button_panel_add_label(button_panel, 1, 11, FontPrimary, "Blu-ray/DVD");
FURI_LOG_I(TAG, "Calling infrared_scene_universal_common_on_enter");
infrared_scene_universal_common_on_enter(context);
FURI_LOG_I(TAG, "Finished infrared_scene_universal_common_on_enter");
}
bool infrared_scene_universal_bluray_on_event(void* context, SceneManagerEvent event) {
FURI_LOG_D(
TAG, "Universal Blu-ray/DVD scene event: type=%d, event=%ld", event.type, event.event);
bool result = infrared_scene_universal_common_on_event(context, event);
FURI_LOG_D(TAG, "infrared_scene_universal_common_on_event result: %d", result);
return result;
}
void infrared_scene_universal_bluray_on_exit(void* context) {
FURI_LOG_D(TAG, "Exiting Universal Blu-ray/DVD scene");
InfraredApp* infrared = context;
FURI_LOG_D(
TAG,
"Brute force state before exit: started=%d",
infrared_brute_force_is_started(infrared->brute_force));
infrared_scene_universal_common_on_exit(context);
FURI_LOG_D(TAG, "Finished exiting Universal Blu-ray/DVD scene");
}