{"id":26239124,"url":"https://github.com/accessd/mp3-persist","last_synced_at":"2026-04-29T02:03:51.581Z","repository":{"id":275288891,"uuid":"925616010","full_name":"accessd/mp3-persist","owner":"accessd","description":"mp3Persist is a lightweight Go-based command-line tool designed to play mp3 files on macOS","archived":false,"fork":false,"pushed_at":"2025-02-01T12:07:49.000Z","size":3080,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T19:25:37.517Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/accessd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-01T10:02:10.000Z","updated_at":"2025-02-01T12:07:52.000Z","dependencies_parsed_at":"2025-02-01T13:33:03.332Z","dependency_job_id":null,"html_url":"https://github.com/accessd/mp3-persist","commit_stats":null,"previous_names":["accessd/mp3-persist"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/accessd/mp3-persist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/accessd%2Fmp3-persist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/accessd%2Fmp3-persist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/accessd%2Fmp3-persist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/accessd%2Fmp3-persist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/accessd","download_url":"https://codeload.github.com/accessd/mp3-persist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/accessd%2Fmp3-persist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32407176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"online","status_checked_at":"2026-04-29T02:00:06.602Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-03-13T06:33:46.450Z","updated_at":"2026-04-29T02:03:51.533Z","avatar_url":"https://github.com/accessd.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mp3Persist\n\n**mp3Persist** is a lightweight Go-based command-line tool designed to play mp3 files on macOS.\n\nIt recursively scans a given directory for mp3 files, optionally shuffles them, and persists the playback order between runs.\n\nThis means that if the application is interrupted and restarted, it resumes from where it left off.\n\nThe tool leverages the macOS `afplay` command for audio playback and supports customizable break durations between tracks.\n\nThis tool is particularly suitable for listening to lessons, especially language lessons, where maintaining the playback order and taking regular breaks can enhance the learning experience.\n\n## What is it?\n\n- **Persistent Playback:** Remembers the current track and playback order across sessions.\n- **Directory Scanning:** Recursively searches for mp3 files in a specified directory and its subdirectories.\n- **Shuffle Support:** Optionally shuffles the playback order.\n- **Break Intervals:** Allows you to specify a pause duration (in minutes) between tracks.\n- **Cross-Platform Build for macOS:** Easily compile the binary for both Intel and ARM-based Macs.\n\n## How to Use It\n\n1. **Basic Usage:**\n\n   ```bash\n   ./mp3Persist -dir=\"/path/to/mp3/files\" -break=2 -shuffle=1\n   ```\n\n-dir specifies the directory that contains mp3 files or subdirectories with mp3 files.\n\n-break specifies the break duration in minutes between playing each file.\n\n-shuffle is a flag (0 or 1) that determines if the list of files should be shuffled.\n\n2. **Resuming Playback:**\n\nThe tool saves its state in a file named playorder.txt located in the specified directory.\nOn subsequent runs, if this file exists and the file list remains unchanged, playback resumes from the last saved position.\n\n## How to Build It\n\n### Requirements\n\n- [Go](https://golang.org/dl/) (version 1.16 or higher recommended)\n- macOS environment with `afplay` installed (default on macOS)\n\n### Building for a Single Architecture\n\nTo build the binary for your current macOS architecture, run:\n\n`go build -o mp3Persist main.go`\n\n### Building Universal Binaries for Intel and ARM Macs\n\nTo support both Intel (`amd64`) and ARM (`arm64`) architectures, run:\n\n    `./build`\n\nThe resulting `mp3Persist` binary will run natively on both Intel and ARM-based Macs.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Feel free to open issues or submit pull requests for enhancements and bug fixes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccessd%2Fmp3-persist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faccessd%2Fmp3-persist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccessd%2Fmp3-persist/lists"}