{"id":16293589,"url":"https://github.com/badsyntax/mp3-arrange","last_synced_at":"2025-04-09T11:13:40.536Z","repository":{"id":22583430,"uuid":"25925034","full_name":"badsyntax/mp3-arrange","owner":"badsyntax","description":"Arrange your music collection","archived":false,"fork":false,"pushed_at":"2015-02-19T19:32:09.000Z","size":412,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-15T05:15:02.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/badsyntax.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}},"created_at":"2014-10-29T14:35:24.000Z","updated_at":"2016-04-09T19:15:23.000Z","dependencies_parsed_at":"2022-07-26T03:02:16.543Z","dependency_job_id":null,"html_url":"https://github.com/badsyntax/mp3-arrange","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fmp3-arrange","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fmp3-arrange/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fmp3-arrange/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fmp3-arrange/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/badsyntax","download_url":"https://codeload.github.com/badsyntax/mp3-arrange/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248027412,"owners_count":21035594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-10T20:11:48.730Z","updated_at":"2025-04-09T11:13:40.508Z","avatar_url":"https://github.com/badsyntax.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mp3-arrange [![Build Status](https://travis-ci.org/badsyntax/mp3-arrange.svg?branch=master)](https://travis-ci.org/badsyntax/mp3-arrange) [![Coverage Status](https://coveralls.io/repos/badsyntax/mp3-arrange/badge.svg?branch=master)](https://coveralls.io/r/badsyntax/mp3-arrange?branch=master)\n\n\nA simple script to arrange your music collection. Mp3 files will be copied in the format `Genre/Artist/Album/01 Track Title.mp3`.\n\nThis script only works with `.mp3` files with valid id3 metadata.\n\n## Installation\n\n*Please note, this script has not yet been published to npm, there is still [work to be done](https://github.com/badsyntax/mp3-arrange/issues/1) before I can release an Alpha version.*\n\n`sudo npm install -g mp3-arrange`\n\n## Usage\n\n```\nUsage: mp3-arrange [options]\n\nOptions:\n   -s DIR, --source DIR        Source directory\n   -d DIR, --destination DIR   Destination directory\n   -l FILE, --logfile FILE     Log file  [mp3-arrange.log]\n   -r, --dry-run               Do a dry run, no changes will be made, and no logs files will be generated  [false]\n   -f, --format-filenames      Re-name the files to match the song name  [true]\n   -o, --overwrite             Overwrite the destination file if it exists  [false]\n   -m, --move                  Move the files instead of copying  [false]\n   -p, --save-progress         Save (and resume) progress  [false]\n   -e, --dev                   Dev mode (everything is slowed down)  [false]\n   -q, --quiet                 Only output errors  [false]\n   -v, --version               Print version and exit  [false]\n```\n\n### Example usage:\n\n```bash\n# Copy files to a directory\nmp3-arrange -s /home/richard/Music -d /media/hdd1/music\n```\n\nI suggest to first start with a small set of files to understand how they will be processed\nbefore attempting to arrange your entire collection. I also suggest doing a dry run\nwith option `-r` to view a summary of the changes to be made.\n\nUse the `-p` option to save progress. This allows you to stop and continue the processing\nwithout re-processing already processed files. This can save you some time when dealing with\nmany files.\n\n## Development\n\nClone and install dependencies:\n\n```\ngit clone https://github.com/badsyntax/mp3-arrange.git mp3-arrange \u0026\u0026 cd $_ \u0026\u0026 npm install\n```\n\n### Docker\n\nIf you're on OSX:\n\n* Ensure you have the latest version of boot2docker installed.\n* Ensure the project is cloned in your home folder (this is a restriction of boot2docker).\n\n#### Build and Run\n\n```\ndocker build -t=badsyntax/mp3-arrange .\ndocker run -it --rm -v `pwd`:/app badsyntax/mp3-arrange\n# Or\ndocker run -it --rm -v `pwd`:/app badsyntax/mp3-arrange npm run watch\n```\n\n### Testing\n\nTest files can be found in the `spec/` folder.\n\nIf running tests from your host machine, you need to install sox and id3v2 first.\n\n```bash\n# Install id3v2 and sox\nsudo apt-get install sox libsox-fmt-mp3 id3v2 -y\n```\n\nRun `npm test` to run the tests.\n\n### Generating test mp3 files\n\n```bash\n# Create the mp3 file\nsox -n -r 44100 -c 2 song.mp3 trim 0.0 0.0\nid3v2 -g 20 -a \"Test Artist\" -A \"Test Album\" -t \"Test Song\" song.mp3\n```\n\n### License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadsyntax%2Fmp3-arrange","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbadsyntax%2Fmp3-arrange","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadsyntax%2Fmp3-arrange/lists"}