Add MIDI Player App#1097
Conversation
xMasterX
left a comment
There was a problem hiding this comment.
Please fix your manifest file according to the docs in this repo
Remove "subdir" and re-order lines, source comes at first, other stuff after, you can use other apps manifests as example
Also, app UI looks pretty basic, buttons could have borders not just plain text, but thats not the main problem
Problem is missing icons
dialog_file_browser_set_basic_options(&options, ".mid", NULL);
Here instead of NULL you can put your own icon using
fap_icon_assets="images", in your .fam file and adding #include "midi_player_icons.h" in your files
Be sure to add icon in the specified folder like "images"
Then you can access it by &I_your_icon_file_name just put it instead of NULL in file browser options
Another problem, example.mid is being "loaded" as default but it does not, since file has to be added manually, this can be easily solved by using
fap_file_assets="example_folder", in your fam file and accessing it via
APP_ASSETS_PATH("example_folder/songs")
in the code - this will make file embedded into .fap and unpacked at first launch, user files still should be placed only in APP_DATA_PATH("something"), assetspath define and folder are managed by app loader and verified on every launch, files are hashed so if you change them in next update, they will be unpacked again and updated properly
And last thing, after file was played, there's no way to return back to file list or replay current file, instead of replay - button OK does nothing
and button Back - closes the app
That looks very unfinished
Application Submission
.midfiles through the built-in speaker as retro buzzer music.v0.1.0submission.Extra Requirements
/ext/apps_data/midi_player/songs/.Author Checklist (Fill this out)
python3 tools/bundle.py --nolint applications/CATEGORY/APPID/manifest.yml bundle.zipAI usage disclosure (Fill this out):
Partially AI assisted (clarify below which code was AI assisted and briefly explain what it does).
Fully AI generated (explain what all the generated code does in moderate detail).
AI assistance was used to initialize the structure and to debug.
Reviewer Checklist (Don't fill this out!)