Uwaga: całość kodu została wygenerowana przez AI (Claude i Gemini), ja tylko promptowałem, przerzucałem rzeczy z którymi Gemini nie poszło do Claude i (rzadko) odwrotnie, robiłem kolejne buildy oraz testowałem. Zrobiłem ją z ciekawości dla siebie, a przy okazji dzielę się z kimś, kto może być zainteresowany :) Pracy trochę przy tym było, testów mnóstwo, wersji pewnie blisko 100, ale z ostatecznego efektu jestem zadowolony:)
ModPlayer dla Android (Wersja 1.2)
Link do pobrania:
ModPlayer1.2
ModPlayer to zaawansowany odtwarzacz muzyki retro i nowoczesnej dla systemu Android oraz systemów samochodowych Android Auto. Aplikacja łączy w sobie niskopoziomowe silniki emulacyjne C++ (w tym libopenmpt) z retro-futurystycznym interfejsem użytkownika, neonowymi wizualizacjami oraz korektorem brzmieniowym wyposażonym w presety retro.
Aplikacja została zaprojektowana na własne potrzeby, ale myślę że może być też ciekawa dla entuzjastów demosceny, muzyki chiptune (z konsol i mikrokomputerów 8/16-bitowych), a jak ktoś jest kierowcą i korzysta z Android Auto, to aplikacja ma wbudowaną pełną obsługę AA. I to m.in. stanowi o jej przewadze nad innymi tego typu rozwiązaniami.
Główne Funkcje Aplikacji Mobilnej (Telefon/Tablet z Androidem)
Aplikacja na telefon oferuje kompletny zestaw funkcji do wygodnego zarządzania kolekcją muzyczną oraz zaawansowanej kontroli odtwarzania:
* Pełna Przeglądarka Plików z Filtrowaniem:
* Wbudowany menedżer plików pozwala na swobodne przeglądanie pamięci wewnętrznej telefonu i karty SD.
* Automatycznie filtruje i wyświetla wyłącznie wspierane formaty audio (zarówno retro-trackery, chiptune'y, pliki MIDI, jak i nowoczesne formaty HD).
* Szybki powrót do katalogu głównego lub folderu pobranych za pomocą skrótu na pasku narzędzi.
* Zaawansowana Kolejka Odtwarzania (Playlista):
* Dodawanie pojedynczych plików: Kliknięcie dowolnego utworu w przeglądarce natychmiast dodaje go na koniec kolejki.
* Dodawanie całych folderów (z podfolderami): Przycisk DODAJ FOLDER automatycznie i błyskawicznie skanuje wybrany katalog oraz wszystkie jego podkatalogi w poszukiwaniu plików muzycznych, importując je do kolejki odtwarzania.
* Interaktywna lista: Kliknięcie utworu w kolejce natychmiast rozpoczyna jego odtwarzanie, a ikona kosza pozwala na usuwanie pojedynczych pozycji z listy.
* Czyszczenie kolejki: Przycisk WYCZYŚĆ pozwala jednym kliknięciem zresetować całą listę odtwarzania.
* System Ulubionych Utworów:
* Możliwość szybkiego oznaczenia aktualnie granego utworu "serduszkiem" na ekranie głównym playera.
* Dedykowana zakładka ULUBIONE w przeglądarce pozwala na błyskawiczny dostęp do oznaczonych utworów, gromadzonych w bezpiecznej bazie danych aplikacji.
* Odtwarzanie Losowe (Shuffle):
* Przycisk losowania automatycznie miesza kolejność utworów. Stan losowania jest zapisywany w sesji odtwarzacza.
* Odtwarzanie w Tle i Powiadomienia (Foreground Service):
* Aplikacja działa jako systemowa usługa pierwszoplanowa – muzyka gra nieprzerwanie, gdy telefon jest zablokowany lub gdy korzystasz z innych aplikacji (np. przeglądarki lub nawigacji).
* Systemowe powiadomienie zintegrowane z MediaStyle z podglądem aktualnej "okładki", nazwy utworu oraz pełną kontrolę (Play/Pause, Poprzedni, Następny) bezpośrednio z paska statusu lub ekranu blokady.
Warstwa Wizualna & UI/UX:
Interfejs graficzny przebudowałem całkowicie kilkukrotnie, chciałbym żeby był maksymalnie wygodny, także w kontekście Android Auto. Obecnie jego funkcje to m.in:
* Podział na Zakładki (TabLayout + ViewPager2):
* PRZEGLĄDARKA: Wygodne, pełnoekranowe przeglądanie katalogów pamięci z podziałem na pliki i ulubione.
* KOLEJKA: Szybki, czytelny podgląd aktualnej listy odtwarzania z opcją czyszczenia i dynamicznym licznikiem piosenek.
* Pasek Mini-Odtwarzacza (Bottom Mini-Player):
* Wysuwany panel na dole ekranu głównego, który pojawia się automatisch w trakcie gry. Pokazuje miniaturę okładki retro, tytuł, format oraz przyciski Play/Pause i Next. Kliknięcie paska otwiera pełny ekran odtwarzacza.
* Dynamiczny Neonowy Motyw (Platform-Specific Neon Glow):
* Ekran odtwarzacza w czasie rzeczywistym rozpoznaje format odtwarzanej piosenki i automatycznie zmienia kolorystykę oraz podświetlenie elementów interfejsu:
* Amiga (MOD, MED, DBM): cyjan
* Commodore 64 (SID): purpura
* Atari (SAP, RMT): pomarańcz
* Super Nintendo (SPC): fiolet
* Sega Mega Drive (VGM): Jaskrawa zieleń
* Nintendo (NSF): czerwień
* Formaty Nowoczesne (MP3, FLAC, OGG, WAV, M4A, OPUS, AAC): złoto
* Korektor Graficzny z Presetami Retro:
* 3-pasmowy korektor graficzny (BASS, MID, TREBLE) zintegrowany bezpośrednio z natywnym silnikiem audio. Wysuwa się jako i panel od dołu ekranu z , pionowymi suwakami retro oraz 4 gotowymi profilami brzmieniowymi:
* Standard: Pasma ustawione na 0 dB (czyste, oryginalne brzmienie).
* Amiga Paula: +6 dB / +2 dB / -8 dB (symulacja sprzętowego filtra dolnoprzepustowego amigowskiego układu Paula z Amigi 500).
* SID Bass: +9 dB / -2 dB / +3 dB (Mocne podbicie głębokiego dołu, wydobywający syntetyczny bas z układów SID).
* DOS Blaster: -4 dB / +6 dB / +7 dB (Podbicie tonów średnich i wysokich, odwzorowujące syntezę FM starych kart Sound Blaster 16 z gier DOS).
* Szybkie przyciski dynamicznie przesuwają suwaki i uaktualniają poiomy dB.
ModPlayer posiada pełną integrację z Android Auto: (a od wersji 1.2 także z ANDROID TV!)
* Pełna Przeglądarka Plików na ekranie auta:
* Wygodny, hierarchiczny system przeglądania katalogów z poziomu deski rozdzielczej samochodu.
* Po kliknięciu przeglądarki startujesz bezpośrednio w katalogu głównym pamięci wewnętrznej (/storage/emulated/0), skąd możesz wchodzić głęboko w podfoldery.
* Ukryte foldery systemowe są automatycznie filtrowane dla zachowania pełnego porządku.
* Dodawanie całych folderów (z podfolderami) jednym kliknięciem:
* Na samej górze każdego folderu w aucie wyświetla się przycisk DODAJ TEN FOLDER DO KOLEJKI.
* Kliknięcie go w tle rekurencyjnie przeszukuje cały folder i jego podkatalogi, masowo dopisuje wszystkie utwory na koniec kolejki i płynnie włącza pierwszy utwór
* System "Ulubionych utworów" na pulpicie samochodu:
* Opcja Ulubione utwory pojawia się bezpośrednio w menu startowym auta. Pokazuje liczbę polubionych utworów i pozwala uruchomić je jednym "dotknięciem"
* Przycisk Polubienia na ekranie Odtwarzacza w aucie:
* Na ekranie aktywnym odtwarzania w samochodzie (zaraz obok przycisków sterujących) wyświetla się dedykowany przycisk polubienia utworu, który dynamicznie zapisuje utwór na telefonie i uaktualnia swój stan.
ModPlayer oferuje 4 przełączalne ekrany wizualizacji zoptymalizowane pod kątem płynności (20+ FPS) i efektu neonowego świecenia (LED Glow):
1. VuMeterView (Stereo VU-Meter LED):
* 30-segmentowy wskaźnik poziomu głośności z efektami poświaty diod LED, gradientem oraz "zawieszonymi" wskaźnikami szczytowymi .
2. MultiVuMeterView (Wielokanałowy EQ):
* Wyświetla poziomy głośności dla każdego aktywnego kanału trackera osobno (od 4 do 32 kanałów).
* Zbudowany z zaokrąglonych kapsułek LED z dynamicznym gradientem barw. Posiada wbudowaną symulację dla formatów chiptune.
3. OscilloscopeView:
* Wizualizacja fali dźwiękowej stylizowana na ekran klasycznego oscyloskopu.
* Zawiera techniczną siatkę pomocniczą w kolorze granatu oraz efekt poświaty fosforowej
4. PatternView (Amiga Protracker Style):
* Wizualizacja "nutowa" wyświetlająca płynący pionowo kod trackera (nuty, instrumenty, efekty głośności i tempa).
* Posiada pełne kolorowanie składni wzorowane na programach trackerowych:
* Nuty (np. C-5, A-#) -> jaskrawa zieleń
* Instrumenty (np. 01, 1C) ->błękit
* Efekty (np. C20, F05) -> róż
* Dla formatów nie-trackerowych (np. SID, NSF) wyświetla komunikat tekstowy zamiast widoku patternowego.
Poza 4 wizualizacjami - każdy format dysponuje wygenerowaną własną grafiką (która wyświetla się jako podstawowa na ekranie aplikacji i w Android Auto).
Pełna Lista Obsługiwanych Formatów
ModPlayer wspiera następujący zestaw formatów muzycznych, podzielony na trzy główne kategorie:
1. Retro Trackery (Muzyka Modułowa — OpenMPT & IBXM)
Natywne odtwarzanie plików muzycznych z Amigi, Atari i PC. Silnik czyta tabele instrumentów, nut oraz komend efektowych:
* Rozszerzenia: .mod, .med, .xm, .s3m, .it, .dbm,
2. Emulatory Układów Dźwiękowych (Komputery i konsole 8/16-Bit — GME & Sidplayfp & AtariAudio & StSound). Odtwarzanie plików muzycznych:
* Commodore 64 (SID): .sid (odtwarzany przez emulator MOS6581/8580 residfp).
* Atari ST (YM/SNDH): .ym, .sndh (muzyka z układu YM2149 / emulator procesora Motorola 68000).
* Atari 8-bit (SAP): .sap (układ dźwiękowy POKEY).
* Nintendo Entertainment System (NES/Famicom): .nsf, .nsfe (układ RP2A03).
* Super Nintendo (SNES): .spc (układ Sony SPC700).
* Sega Mega Drive / Genesis: .vgm, .vgz, .gym (układ FM Yamaha YM2612 & SN76489).
* Nintendo GameBoy: .gbs (układ audio Sharp LR35902).
* ZX Spectrum / Amstrad CPC: .ay (układ AY-3-8910, itp.).
* MSX / MSX2: .kss (układy AY-3-8910 & SCC).
* PC Engine / TurboGrafx-16: .hes (układ Hudson soft HuC6280).
3. Klasyczne Formaty Audio i MIDI
* Pliki MIDI: .mid, .midi (muzyka odtwarzana przez sprzętowy syntezator Androida z pełnym wsparciem nawigacji ProgressBar/SeekBar).
* Formaty HD i skompresowane: .wav, .flac, .ogg (Vorbis), .opus, .mp3, .aac, .m4a (dekodowane sprzętowo za pomocą MediaCodec).
Uprawnienia i Wymagania Systemowe
* Dostęp do plików (Storage Permission): Ze względu na specyfikację przeglądarki plików, aplikacja wymaga uprawnienia "Dostęp do wszystkich plików" (na Androidzie 11+) lub uprawnienia do odczytu pamięci zewnętrznej (starsze systemy Android). Pozwala to na swobodne przeglądanie i odtwarzanie własnych kolekcji plików muzycznych z dowolnego folderu (np. Pobrane).
* Foreground Service Type (Media Playback): Odtwarzacz działa jako usługa pierwszoplanowa, gwarantując nieprzerwaną grę w tle (podczas gdy korzystasz z innych aplikacji lub gdy ekran telefonu jest zablokowany).
Od wersji 1.2 - wsparcie Android TV
Ostatnia aktualizacja: 18.07.2026 09:33:37 przez Splavinho