Name | ioscustomringtones JSON |
Version |
1.0.1
JSON |
| download |
home_page | |
Summary | list custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist` |
upload_time | 2024-01-12 21:07:17 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3 |
license | GPLv3 |
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"
}