musictoolbox


Namemusictoolbox JSON
Version 0.0.84 PyPI version JSON
download
home_pagehttps://github.com/Rudd-O/musictoolbox
SummaryUtilities to help you groom your music collection
upload_time2024-05-21 23:01:21
maintainerNone
docs_urlNone
authorManuel Amador (Rudd-O)
requires_pythonNone
licenseGPLv2
keywords mp3 ogg mkv transcoding aac mp4 video flv flac
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Music toolbox

This is a small toolbox of utilities written in Python 2 that help users groom their music collection.

## What's in the box

The box contains a number of utilities.  The main one is `syncplaylists`.

### syncplaylists: the playlist synchronizer

`syncplaylists` takes a number of file lists / playlists in the command line,
and a destination directory, then synchronizes all the songs in the playlists
to the destination directory, with optional modifications to the files and their
names as they are copied to the destination directory.  `syncplaylists` preserves
your music collection's directory structure, and allows you to define what
formats you want your music to be transcoded to.

Run `syncplaylists --help` for more information.

`syncplaylists` accepts a simple YAML file in your home directory, by default read
from file `transcoding.yaml` in `$HOME/.config/musictoolbox` (although you can change
which file to use with the `-c` command line parameter).  The file must say how you
want things to be transcoded (documentation on the config format is forthcoming):

```
# cat ~/.config/musictoolbox/transcoding.yaml
policies:
- source: ogg
  # Ogg Vorbis and Ogg Opus files to be copied directly
  pipeline: [copy]
- source: *
  # Everything else to transcode to MP3.  MP3 files
  # themselves will be copied since the copy transcoder
  # is the one with the cheapest "cost".
  target: mp3
```

Once you've created the YAML config file, here's the quickstart version of how you
actually *use* the tool:

```
[user@laptop ~/Music]$ syncplaylists -vd Playlists/*.m3u /mnt/usbdrive/Music/
```

That will copy all songs listed in all M3U playlists within your
`~/Music/Playlists` folder directly into `/mnt/usbdrive/Music`, preserving
the directory structure you have.

Any playlist you specify as parameter can also be a symlink.  If they are, then
any relative paths within the playlist will be resolved in relation to the target
of the symlink, rather than the symlink itself.  This lets you symlink album
playlists to a folder with favorite playlists of yours, and then use syncplaylists
directly with those symlinked favorites.

### genplaylist: the playlist generator

`genplaylist` generates playlists.  Run `genplaylist --help` for more information.


## Requirements / dependencies

This is a list of requirements for most of these utilities to work:

* python3-packaging
* python3-networkx
* python3-pyxdg
* python3-psutil
* python3-mutagen
* ffmpeg
* GStreamer

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Rudd-O/musictoolbox",
    "name": "musictoolbox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "mp3 ogg mkv transcoding aac mp4 video flv flac",
    "author": "Manuel Amador (Rudd-O)",
    "author_email": "rudd-o@rudd-o.com",
    "download_url": "https://files.pythonhosted.org/packages/63/7c/8638f1e35b0ef21e66cba1cf19275dce90843c2b687d77a798c17d28aa0a/musictoolbox-0.0.84.tar.gz",
    "platform": null,
    "description": "# Music toolbox\n\nThis is a small toolbox of utilities written in Python 2 that help users groom their music collection.\n\n## What's in the box\n\nThe box contains a number of utilities.  The main one is `syncplaylists`.\n\n### syncplaylists: the playlist synchronizer\n\n`syncplaylists` takes a number of file lists / playlists in the command line,\nand a destination directory, then synchronizes all the songs in the playlists\nto the destination directory, with optional modifications to the files and their\nnames as they are copied to the destination directory.  `syncplaylists` preserves\nyour music collection's directory structure, and allows you to define what\nformats you want your music to be transcoded to.\n\nRun `syncplaylists --help` for more information.\n\n`syncplaylists` accepts a simple YAML file in your home directory, by default read\nfrom file `transcoding.yaml` in `$HOME/.config/musictoolbox` (although you can change\nwhich file to use with the `-c` command line parameter).  The file must say how you\nwant things to be transcoded (documentation on the config format is forthcoming):\n\n```\n# cat ~/.config/musictoolbox/transcoding.yaml\npolicies:\n- source: ogg\n  # Ogg Vorbis and Ogg Opus files to be copied directly\n  pipeline: [copy]\n- source: *\n  # Everything else to transcode to MP3.  MP3 files\n  # themselves will be copied since the copy transcoder\n  # is the one with the cheapest \"cost\".\n  target: mp3\n```\n\nOnce you've created the YAML config file, here's the quickstart version of how you\nactually *use* the tool:\n\n```\n[user@laptop ~/Music]$ syncplaylists -vd Playlists/*.m3u /mnt/usbdrive/Music/\n```\n\nThat will copy all songs listed in all M3U playlists within your\n`~/Music/Playlists` folder directly into `/mnt/usbdrive/Music`, preserving\nthe directory structure you have.\n\nAny playlist you specify as parameter can also be a symlink.  If they are, then\nany relative paths within the playlist will be resolved in relation to the target\nof the symlink, rather than the symlink itself.  This lets you symlink album\nplaylists to a folder with favorite playlists of yours, and then use syncplaylists\ndirectly with those symlinked favorites.\n\n### genplaylist: the playlist generator\n\n`genplaylist` generates playlists.  Run `genplaylist --help` for more information.\n\n\n## Requirements / dependencies\n\nThis is a list of requirements for most of these utilities to work:\n\n* python3-packaging\n* python3-networkx\n* python3-pyxdg\n* python3-psutil\n* python3-mutagen\n* ffmpeg\n* GStreamer\n",
    "bugtrack_url": null,
    "license": "GPLv2",
    "summary": "Utilities to help you groom your music collection",
    "version": "0.0.84",
    "project_urls": {
        "Homepage": "https://github.com/Rudd-O/musictoolbox"
    },
    "split_keywords": [
        "mp3",
        "ogg",
        "mkv",
        "transcoding",
        "aac",
        "mp4",
        "video",
        "flv",
        "flac"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "637c8638f1e35b0ef21e66cba1cf19275dce90843c2b687d77a798c17d28aa0a",
                "md5": "f626038291a5bb3d1abf65410b8c3096",
                "sha256": "f8ef0e31cb75fb781db417d413cfb5842218f48c7df880fd5650c10c6aaaae41"
            },
            "downloads": -1,
            "filename": "musictoolbox-0.0.84.tar.gz",
            "has_sig": false,
            "md5_digest": "f626038291a5bb3d1abf65410b8c3096",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 45680,
            "upload_time": "2024-05-21T23:01:21",
            "upload_time_iso_8601": "2024-05-21T23:01:21.403408Z",
            "url": "https://files.pythonhosted.org/packages/63/7c/8638f1e35b0ef21e66cba1cf19275dce90843c2b687d77a798c17d28aa0a/musictoolbox-0.0.84.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-21 23:01:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Rudd-O",
    "github_project": "musictoolbox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "musictoolbox"
}
        
Elapsed time: 0.26020s