ioscustomringtones


Nameioscustomringtones JSON
Version 1.0.1 PyPI version JSON
download
home_page
Summarylist custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist`
upload_time2024-01-12 21:07:17
maintainer
docs_urlNone
author
requires_python>=3
licenseGPLv3
keywords ios iphone plist ringtone
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # generate `Ringtones.plist` for custom iOS ring and alert tones
### list custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist`

```shell
pip install ioscustomringtones
```

#### Instructions

1. convert audio files to `.m4a`, then rename to `.m4r`:
    ```shell
    ffmpeg -i some_tone.wav some_tone.m4a
    mv some_tone.m4a some_tone.m4r
    ```

2. mount the `/Media/` directory of your iOS device to your local filesystem (this does not require a jailbroken device):
    ```shell
    mkdir ~/iPhone_Media/
    ifuse ~/iPhone_Media/
    ```

3. copy your `.m4r` files to `~/iPhone_Media/iTunes_Control/Ringtones/`:
    ```shell
    cp ~/Music/Ringtones/*.m4r ~/iPhone_Media/iTunes_Control/Ringtones/
    ```

4. install `ioscustomringtones` with `pip`:
    ```shell
    pip install ioscustomringtones
    ```

5. pass the directory you mounted to the `write_ios_ringtones_plist` command (see more options below):
    ```shell
    write_ios_ringtones_plist ~/iPhone_Media/
    ```
    ```shell
    Usage: write_ios_ringtones_plist [OPTIONS] MEDIA_DIRECTORY

      on a mounted iOS filesystem, reads existing `.m4r` files at
      `/Media/iTunes_Control/Ringtones/` and generates
      `/Media/iTunes_Control/iTunes/Ringtones.plist`

    Arguments:
      MEDIA_DIRECTORY  path to `/Media/` on the iOS device  [required]

    Options:
      --alerts-threshold INTEGER    number of seconds under which to
                                    assume sound is an alert tone vs a
                                    ringtone  [default: 10]
      --binary / --no-binary        whether to write `.plist` in binary
                                    format (as opposed to XML)  [default:
                                    binary]
      --write / --no-write          write to file; otherwise print to
                                    stdout  [default: write]
      --overwrite / --no-overwrite  write over an existing file
                                    [default: no-overwrite]
      --verbose / --no-verbose      print individual tones to stdout
                                    [default: no-verbose]
      --help                        Show this message and exit.
    ```

6. unmount the `/Media/` directory from your local filesystem:
    ```shell
    sudo umount ~/iPhone/
    ```


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ioscustomringtones",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3",
    "maintainer_email": "",
    "keywords": "iOS,iPhone,plist,ringtone",
    "author": "",
    "author_email": "Zachary Burnett <zachary.r.burnett@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/7d/30/d53f0ea754332d5ade11b40d97a7534f10a846ef67e5ab798f1e50200ec4/ioscustomringtones-1.0.1.tar.gz",
    "platform": null,
    "description": "# generate `Ringtones.plist` for custom iOS ring and alert tones\n### list custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist`\n\n```shell\npip install ioscustomringtones\n```\n\n#### Instructions\n\n1. convert audio files to `.m4a`, then rename to `.m4r`:\n    ```shell\n    ffmpeg -i some_tone.wav some_tone.m4a\n    mv some_tone.m4a some_tone.m4r\n    ```\n\n2. mount the `/Media/` directory of your iOS device to your local filesystem (this does not require a jailbroken device):\n    ```shell\n    mkdir ~/iPhone_Media/\n    ifuse ~/iPhone_Media/\n    ```\n\n3. copy your `.m4r` files to `~/iPhone_Media/iTunes_Control/Ringtones/`:\n    ```shell\n    cp ~/Music/Ringtones/*.m4r ~/iPhone_Media/iTunes_Control/Ringtones/\n    ```\n\n4. install `ioscustomringtones` with `pip`:\n    ```shell\n    pip install ioscustomringtones\n    ```\n\n5. pass the directory you mounted to the `write_ios_ringtones_plist` command (see more options below):\n    ```shell\n    write_ios_ringtones_plist ~/iPhone_Media/\n    ```\n    ```shell\n    Usage: write_ios_ringtones_plist [OPTIONS] MEDIA_DIRECTORY\n\n      on a mounted iOS filesystem, reads existing `.m4r` files at\n      `/Media/iTunes_Control/Ringtones/` and generates\n      `/Media/iTunes_Control/iTunes/Ringtones.plist`\n\n    Arguments:\n      MEDIA_DIRECTORY  path to `/Media/` on the iOS device  [required]\n\n    Options:\n      --alerts-threshold INTEGER    number of seconds under which to\n                                    assume sound is an alert tone vs a\n                                    ringtone  [default: 10]\n      --binary / --no-binary        whether to write `.plist` in binary\n                                    format (as opposed to XML)  [default:\n                                    binary]\n      --write / --no-write          write to file; otherwise print to\n                                    stdout  [default: write]\n      --overwrite / --no-overwrite  write over an existing file\n                                    [default: no-overwrite]\n      --verbose / --no-verbose      print individual tones to stdout\n                                    [default: no-verbose]\n      --help                        Show this message and exit.\n    ```\n\n6. unmount the `/Media/` directory from your local filesystem:\n    ```shell\n    sudo umount ~/iPhone/\n    ```\n\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "list custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist`",
    "version": "1.0.1",
    "project_urls": {
        "Repository": "https://github.com/zacharyburnett/ioscustomringtones"
    },
    "split_keywords": [
        "ios",
        "iphone",
        "plist",
        "ringtone"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5793c0ba6912d8695d0fe3cb5bf96043fc687f5d6195775093fce3e9dc0fad92",
                "md5": "dd317073c6bedea30a373dbb977e56ba",
                "sha256": "c34316c37eade504ec7c7ff57388f19e81c541416738a303169ba3824641b2fb"
            },
            "downloads": -1,
            "filename": "ioscustomringtones-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dd317073c6bedea30a373dbb977e56ba",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3",
            "size": 15802,
            "upload_time": "2024-01-12T21:07:15",
            "upload_time_iso_8601": "2024-01-12T21:07:15.801415Z",
            "url": "https://files.pythonhosted.org/packages/57/93/c0ba6912d8695d0fe3cb5bf96043fc687f5d6195775093fce3e9dc0fad92/ioscustomringtones-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d30d53f0ea754332d5ade11b40d97a7534f10a846ef67e5ab798f1e50200ec4",
                "md5": "e2f0cc067792559b6a4feb758076bd7f",
                "sha256": "c7b316cd9aa1126622e5dc842d47f5a01898dc0f182817884676aae58f660019"
            },
            "downloads": -1,
            "filename": "ioscustomringtones-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e2f0cc067792559b6a4feb758076bd7f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3",
            "size": 16469,
            "upload_time": "2024-01-12T21:07:17",
            "upload_time_iso_8601": "2024-01-12T21:07:17.308412Z",
            "url": "https://files.pythonhosted.org/packages/7d/30/d53f0ea754332d5ade11b40d97a7534f10a846ef67e5ab798f1e50200ec4/ioscustomringtones-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-12 21:07:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zacharyburnett",
    "github_project": "ioscustomringtones",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ioscustomringtones"
}
        
Elapsed time: 0.16036s