{"id":23577142,"url":"https://github.com/eggpi/xmms2-ipod-syncer","last_synced_at":"2025-11-02T08:30:31.391Z","repository":{"id":2459744,"uuid":"3431659","full_name":"eggpi/xmms2-ipod-syncer","owner":"eggpi","description":"A simple service client for xmms2 that syncs music to an iPod device","archived":false,"fork":false,"pushed_at":"2012-11-17T20:36:33.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T20:55:43.065Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/eggpi.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}},"created_at":"2012-02-13T16:23:37.000Z","updated_at":"2013-12-22T20:11:36.000Z","dependencies_parsed_at":"2022-09-09T12:51:37.514Z","dependency_job_id":null,"html_url":"https://github.com/eggpi/xmms2-ipod-syncer","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/eggpi%2Fxmms2-ipod-syncer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eggpi%2Fxmms2-ipod-syncer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eggpi%2Fxmms2-ipod-syncer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eggpi%2Fxmms2-ipod-syncer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eggpi","download_url":"https://codeload.github.com/eggpi/xmms2-ipod-syncer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239389576,"owners_count":19630310,"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-12-26T22:26:57.871Z","updated_at":"2025-11-02T08:30:31.365Z","avatar_url":"https://github.com/eggpi.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xmms2-ipod-syncer\n\nA simple service client for xmms2 that syncs tracks to an iPod device.\n\nIt is currently possible to copy the results of arbitrary xmms2 queries to an\niPod, and to clear all tracks in the device. For instance:\n\n        $ ipod-syncer \"artist:'The Beatles' AND NOT album:'Revolver'\"\n\ncopies all songs from The Beatles, except for those in Revolver, to the iPod.\n\nThis client also supports Voiceover, that mildly cool feature in the iPod\nShuffle 3G where a synthesized voice speaks the metadata of a track, mainly to\ncompensate for the lack of a screen in the device's body.  The Voiceover tracks\nare automatically created when you sync music to your iPod.\n\nThere is also experimental support for conversion of tracks. All tracks will be\nconverted to mp3 if needed before being synced to the iPod. Currently supported\ninput formats include ogg, flac and m4a.\n\nThis client uses the GNU GPL license.\n\n## why?\n\n- I like how xmms2 lets you make complex queries to your media library, and\n  thought it would be nice to use these queries to select the songs I want to\n  carry around;\n\n- I implemented support for service clients in xmms2 during the 2011 Google\n  Summer of Code, and this is the first non-trivial service client I have ever\n  developed;\n\n- My usecase is generally so simple I didn't even want to bother installing\n  gtkpod or iTunes;\n\n- I was bored on a rainy Sunday.\n\n## how do I build it?\n\nYou will need libgpod and, of course, libxmmsclient.\n\nFor Voiceover support, you'll also need libespeak, which generally comes\ninstalled with espeak.\n\nFor track conversion support, you will need vorbis-tools (ogg support), flac\n(flac support), faad (m4a support) and ffmpeg (all other formats).\n\nFinally, you will need the SCons build system. In order to build the client,\nsimply issue:\n\n        $ scons\n\nand everything should go fine. If you don't want Voiceover support, just add\nthe --without-voiceover option to the command above.\n\n## how do I use it?\n\n### as a standalone client\n\nAll you need to do is run the client with a query in the command line:\n\n        $ ipod-syncer \"album:'Strange Days'\"\n\n(beware of quoting issues with your shell).\n\nThere are a few other options, which you can read about using:\n\n        $ ipod-syncer -h\n\n### as a service client\n\nThe client currently exports a single method:\n\n**sync (id1, id2, ...)**\n\n        Sync tracks given by their medialib ids.\n\n        Expects any nymber of positional arguments, all of which are medialib\n        ids. Upon error, none of the tracks are synced.\n        Returns NONE or ERROR.\n\nMake sure you use the -s command line option, which tells the client to stick\naround as a service after running the query (if any).\n\n## issues?\n\nGlad you asked! There are plenty.\n\n- No playlist support;\n- No way to selectively remove tracks;\n- No checking if a track is already in the iPod before copying;\n- Probably some memory leaks;\n- Anything else that bugs you.\n\nI do think the issues above should be fixed. However, my usecase currently\nconsists of:\n\n        $ ipod-syncer --clear \u003cquery-that-resolves-to-handful-of-tracks\u003e\n\nso it is unlikely that I will be annoyed enough to work on them in the near\nfuture.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feggpi%2Fxmms2-ipod-syncer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feggpi%2Fxmms2-ipod-syncer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feggpi%2Fxmms2-ipod-syncer/lists"}