{"id":13432651,"url":"https://github.com/dayvonjersen/ableton-project-version-control-thing","last_synced_at":"2025-09-18T19:53:36.574Z","repository":{"id":85523230,"uuid":"99451947","full_name":"dayvonjersen/ableton-project-version-control-thing","owner":"dayvonjersen","description":":musical_score: :floppy_disk: Semi-automatic version control for Ableton Live™ projects","archived":false,"fork":false,"pushed_at":"2020-07-03T06:04:37.000Z","size":25,"stargazers_count":25,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-05T11:55:38.040Z","etag":null,"topics":["ableton","automatic","git"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dayvonjersen.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}},"created_at":"2017-08-05T22:54:02.000Z","updated_at":"2024-12-27T11:50:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c482804-f7dd-459c-a365-e329bb54bcaa","html_url":"https://github.com/dayvonjersen/ableton-project-version-control-thing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dayvonjersen/ableton-project-version-control-thing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dayvonjersen%2Fableton-project-version-control-thing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dayvonjersen%2Fableton-project-version-control-thing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dayvonjersen%2Fableton-project-version-control-thing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dayvonjersen%2Fableton-project-version-control-thing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dayvonjersen","download_url":"https://codeload.github.com/dayvonjersen/ableton-project-version-control-thing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dayvonjersen%2Fableton-project-version-control-thing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275822633,"owners_count":25534943,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"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":["ableton","automatic","git"],"created_at":"2024-07-31T02:01:14.693Z","updated_at":"2025-09-18T19:53:36.501Z","avatar_url":"https://github.com/dayvonjersen.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003e Semi-automatic version control for Ableton Live™ projects\n\nHey, so I'm actually working on music again and this thing was broken af.\n\nOften when I'm working on music I'll change something and later be\ndissatisfied with it but not remember what I had or worse, not remember\nwhat I changed.\n\nAt the same time, you want to be saving your work constantly in case of\na crash or power outage. Ableton does have a Crash Recovery Feature, \nwhich is nice but it also loses your Undo history every time you save,\nwhich isn't so nice.\n\nVersion control is the commonly accepted solution and this thing\nwill `git commit` every time you hit `ctrl+s`.\n\n## Recommended Usage\n\n1. Run it from the folder where your project lives\n\n    \u003e Open it from the command line.\n\n    \u003e Should work on macOS now.\n\n    \u003e Windows users are recommended to use Git Bash for Windows.\n\n2. Save often\n\n    \u003e Every time you save, the changes you made will be automatically committed to a git repository.\n\n3. Tag versions occasionally by typing directly into the console\n\n    \u003e with something like \"bassline\" or \"changed drums\" just to give you an idea of where you were at\n\n## New Stuff\n\nAdditionally, there are some new commands, just type them directly into the console:\n\n - **log**: print a list of changes\n\n - **checkout [hash]**: revert current project file.\n \n    \u003e To reload the project file in ableton, from the menu:\n\n    \u003e File \u003e Open Recent File \u003e [current project]\n\n    \u003e \n    \n    \u003e **when you check out a previous version, auto-committing is disabled until you use \"save\" or \"cancel\" commands, even if you restart the application!**\n\n - **cancel**: go back to the latest version of the project file\n\n - **save**: make the currently checked out version *the latest* version of the project file\n\n    \u003e effectively undo, but with the benefit of still being able to go back to the version(s) you don't want right now at a later time.\n\n - **set**: target the given filename as the current project\n\n    \u003e this is just for me to test this thing out please don't use this command\n\n## WIP\n\nThis is still very much a work in progress, proper README coming soon™, possibly a GUI who knows\n\nIf you know how to use git at all, check out [my other thing](https://github.com/dayvonjersen/go-git-em-tiger) which works very well in tandem with this.\n\nBut if my software isn't good enough for you, here's all you need to know about ableton project files:\n\n```\n#\n# convert als into text version\n#\ncat project.als | gunzip \u003e project.xml\n\n#\n# convert back to als\n#\ncat project.xml | gzip \u003e project.als\n```\n\nThat's it. \n\nbtw this is still wtfpl so whatever kid just get out of my face B^U\n\n.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdayvonjersen%2Fableton-project-version-control-thing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdayvonjersen%2Fableton-project-version-control-thing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdayvonjersen%2Fableton-project-version-control-thing/lists"}