{"id":35843833,"url":"https://github.com/mohammadsyuhada/nextui-music-player","last_synced_at":"2026-02-27T13:27:04.718Z","repository":{"id":331265895,"uuid":"1125936644","full_name":"mohammadsyuhada/nextui-music-player","owner":"mohammadsyuhada","description":" NextUI app for playing local music, streaming internet radio, and listening to podcast on TrimUI devices","archived":false,"fork":false,"pushed_at":"2026-02-24T14:46:54.000Z","size":128199,"stargazers_count":9,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T19:03:25.463Z","etag":null,"topics":["nextui","trimui","trimui-brick","trimui-smart-pro","trimui-smart-pro-s"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohammadsyuhada.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-31T17:20:30.000Z","updated_at":"2026-02-24T14:46:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa3268d7-4b09-448e-96b3-7b5cb4df5f06","html_url":"https://github.com/mohammadsyuhada/nextui-music-player","commit_stats":null,"previous_names":["mohammadsyuhada/nextui-music-player"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/mohammadsyuhada/nextui-music-player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadsyuhada%2Fnextui-music-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadsyuhada%2Fnextui-music-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadsyuhada%2Fnextui-music-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadsyuhada%2Fnextui-music-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohammadsyuhada","download_url":"https://codeload.github.com/mohammadsyuhada/nextui-music-player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadsyuhada%2Fnextui-music-player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29896619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T12:09:13.686Z","status":"ssl_error","status_checked_at":"2026-02-27T12:09:13.282Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextui","trimui","trimui-brick","trimui-smart-pro","trimui-smart-pro-s"],"created_at":"2026-01-08T05:05:36.024Z","updated_at":"2026-02-27T13:27:04.705Z","avatar_url":"https://github.com/mohammadsyuhada.png","language":"C","funding_links":["https://ko-fi.com/Y8Y61SI04B"],"categories":[],"sub_categories":[],"readme":"# NextUI Music Player\nA comprehensive music playback application for NextUI featuring local file playback, online radio streaming, podcast and music downloading.\n\n## Supported Platforms\n- **tg5040** - TrimUI Smart Pro / TrimUI Brick / Brick Hammer\n- **tg5050** - TrimUI Smart Pro S\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y61SI04B)\n\n![music_player](https://github.com/user-attachments/assets/de4fe612-1c48-4e98-9537-79504e20f299)\n\n\n## Installation\n\n### Manual Installation\n1. Mount your NextUI SD card to a computer.\n2. Download the latest release file named `Music.Player.pak.zip` from Github.\n3. Copy the zip file to `/Tools/\u003cPLATFORM\u003e/Music.Player.pak.zip` (replace `\u003cPLATFORM\u003e` with your device: `tg5040` or `tg5050`).\n4. Extract the zip in place, then delete the zip file.\n5. Confirm that there is a `/Tools/\u003cPLATFORM\u003e/Music.Player.pak` folder on your SD card.\n6. Rename the `Music.Player.pak` folder to `Music Player.pak`.\n7. Unmount your SD Card and insert it into your TrimUI device.\n\n### Pak Store Installation\n\n1. Open `Pak Store` application in your TrimUI device. \n2. Navigate to the `Browse` then `Media` menu. \n3. Select `Music Player` to install.\n\n## Update\n\n1) You can update the application directly via `About` page in the application.\n2) Or, you can update via `Pak Store`.\n\n## Features\n\n### General\n- Support Bluetooth/USB-C devices for output and media controls.\n- Automatic screen off (Follow system screen timeout).\n\n### Library\n- Supports `WAV`, `MP3`, `OGG`, `FLAC`, `M4A`, `AAC` and `OPUS` formats\n- File browser for navigating music libraries (Audio files must be placed in `./Music` folder)\n- Shuffle and repeat modes\n- Spectrum visualizer with 4 options of color to choose from.\n- Album art display (Automatically download album art if track doesn't provide)\n- Automated lyric download and display during playback\n- Search and download YouTube Music for music (Downloaded tracks will be placed in `./Music/Download`)\n- Playlist management\n\n### Online Radio\n- Preset station management (add, remove, save)\n- Curated station browser organized by country (Only Malaysia for now - others will be added later; please suggest)\n- Support for `MP3` and `AAC` streams, direct streaming (Shoutcast/Icecast) and `HLS` (m3u8).\n- HTTPS support via mbedTLS\n- Metadata display (song title, artist, station info)\n- Album art display (Downloaded from internet based on current song)\n\n### Podcast\n- Search Apple Podcast for podcast source\n- Subscription management\n- Download episodes for local offline playback\n- Podcast files will be placed in `./Podcasts`\n\n## Controls\n\n### Main Menu Navigation\n- **D-Pad**: Navigate menus and file browser\n- **A Button**: Select/Confirm\n- **B Button**: Back/Cancel/Exit\n- **X Button**: Clear Resume History/Background Playback\n- **Start (short press)**: Show Controls Help\n- **Start (long press)**: Exit Application\n\n### Music Player\n- **A Button**: Play/Pause\n- **B Button**: Back/Cancel/Exit\n- **X Button**: Toggle Shuffle\n- **Y Button**: Toggle Repeat\n- **D-Pad Up**: Next Track\n- **D-Pad Down**: Prev Track\n- **D-Pad Right**: Fast Foward\n- **D-Pad Left**: Rewind\n- **Select**: Turn Off Screen\n- **Start (short press)**: Show Controls Help\n- **Start (long press)**: Exit Application\n- **L1/R1 Shoulders**: Prev/Next Track\n- **L2/L3 Shoulders**: Toggle Visualizer\n- **R2/R3 Shoulders**: Toggle Lyrics\n\n### Radio Player\n- **B Button**: Back/Stop\n- **D-Pad Up**: Next Station\n- **D-Pad Down**: Prev Station\n- **Select**: Turn Off Screen\n- **Start (short press)**: Show Controls Help\n- **Start (long press)**: Exit Application\n- **L1/R1 Shoulders**: Prev/Next Station\n\n### Podcast\n- **B Button**: Back/Stop\n- **Select**: Turn Off Screen\n- **Start (short press)**: Show Controls Help\n- **Start (long press)**: Exit Application\n\n## Usage\n\n### Playing Local Music\n- Navigate to your music folder using the `Library` menu\n- Select a file to start playback\n\n### Online Radio\n- Navigate to the stations list using the `Online Radio` menu\n- Press `Y` button to manage stations.\n- Or add custom stations at `.userdata/shared/music-player/radio/stations.txt`\n- Metadata displays automatically when available\n\n### Podcast\n- Navigate to the podcasts list using the `Podcasts` menu\n- Select which subscribed podcast you wish to listen.\n- Download any episode you wish to listen.\n- Once downloaded, it will be available to play.\n- Press `Y` button to manage subscriptions.  \n\n## Building from Source\n\n### Prerequisites\n- Cross-compilation toolchain for ARM64\n- NextUI workspace with platform dependencies\n\n### Build Commands\n\n```bash\n# Enter the toolchain (replace PLATFORM accordingly) \nmake shell PLATFORM=tg5040\n\n# Once in the toolchain shell\ncd ~/workspace/nextui-music-player/src\n\n# Build for TrimUI Brick (tg5040)\nmake clean \u0026\u0026 make PLATFORM=tg5040\n```\n\n### Project Structure\n\n```\nworkspace/\n├── nextui-music-player/     # This project\n│   ├── src/                 # Source code\n│   ├── bin/                 # Platform binaries and runtime tools\n│   │   ├── tg5040/          # TrimUI Brick binary (musicplayer.elf)\n│   │   ├── tg5050/          # TrimUI Smart Pro S binary (musicplayer.elf)\n│   │   ├── yt-dlp           # YouTube downloader\n│   │   ├── wget             # HTTP downloader\n│   │   └── keyboard         # On-screen keyboard\n│   ├── res/                 # Resources (fonts, images)\n│   ├── stations/            # Curated radio stations\n│   └── state/               # Runtime state files\n├── all/                     # Shared code\n│   ├── common/              # Common utilities, API\n│   └── minarch/             # Emulator framework\n├── tg5040/                  # TrimUI Brick platform\n│   ├── platform/            # Platform-specific code\n│   └── libmsettings/        # Settings library\n└── tg5050/                  # TrimUI Smart Pro platform\n    ├── platform/            # Platform-specific code\n    └── libmsettings/        # Settings library\n```\n\n### Dependencies\n\nThe music player uses:\n- **Shared code**: `workspace/all/common/` (utils, api, config, scaler)\n- **Platform code**: `workspace/\u003cPLATFORM\u003e/platform/`\n- **Libraries**: SDL2, SDL2_image, SDL2_ttf, GLESv2, EGL, libsamplerate, libzip, mbedTLS, ALSA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadsyuhada%2Fnextui-music-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammadsyuhada%2Fnextui-music-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadsyuhada%2Fnextui-music-player/lists"}