-
10-19-2007, 12:53 AM #121iPhone? More like MyPhone
- Join Date
- Sep 2007
- Location
- South Central LA
- Posts
- 169
- Thanks
- 27
- Thanked 19 Times in 13 Posts
I got all my 15 ringtones up ^^
took me a while.....
just kept replacing the ones that didnt play til they played
and eventually i got all of them playing
!
thanx for iRinger!!

iPHONE 3G FW 4.0 JB & iPHONE 4 4.0 READY TO BE JB=]
-
10-19-2007, 01:48 AM #122
okay.. did this over and over and the tone shows up.. the m4r and m4a files are both there.. the plist is perfect.. it's there.. but, will not play. I'm not going to do it with a ton of files until I get this one going.
any help on the no sound issue would be greatly appreciated.
j
-
10-19-2007, 02:26 AM #123
I tried the iRinger app and it failed with several ringtones. It seems to use a 7-digit naming convention, which as I noted earlier doesn't always work (though often does).
BUT, I think I have found a fairly consistent solution...
I am now using SendSong 0.17 (Experimental) from here:
http://ericasadun.com/ftp/Applications/SendSong/
This has worked for me, and it even creates the spoof .m4r file. Ringtones are still blown out after syncing, but I use a Tapp command to restore my working plist.
1. Add the appropriate ringtone (has to be a .m4a file) to your iPhone playlist in iTunes and sync. Keep the track to 30 seconds or shorter.
2. Run SendSong and send the song to ringtones.
3. Before syncing to iTunes use SSH or Mobile Finder to make a copy of /var/root/Media/iTunes_Control/iTunes/Ringtones.plist as /var/root/Media/iTunes_Control/iTunes/Ringtones.plist.OK.
4. After syncing to iTunes run Tapp with the command posted earlier in this thread. This will retain your custom ringtones.
While it still ain't perfect it beats playing the rename dance, not to mention manually editing the plist.
BTW: SendSong always names the m4a files with 4 digits, just like purchased ringtones are named. It always uses 29333 as the time integer too. It also uses random GUID strings. Here's a sample of a track converted using SendSong 0.17:
<key>MPBG.m4a</key>
<dict>
<key>Album</key>
<string></string>
<key>Album Artist</key>
<string></string>
<key>GUID</key>
<string>E41CAD1192777577</string>
<key>Name</key>
<string>Dire Straits - Walk Of Life</string>
<key>Total Time</key>
<integer>29333</integer>
</dict>
<key>MPBGDire_Straits__Walk_Of_Lifespoof.m4r</key>
<dict>
<key>Album</key>
<string></string>
<key>Album Artist</key>
<string></string>
<key>GUID</key>
<string>E41CAD1192777577</string>
<key>Name</key>
<string>Dire Straits - Walk Of Life</string>
<key>Total Time</key>
<integer>29333</integer>
</dict>
--
Mike
-
10-19-2007, 02:30 AM #124
Originally I had more than 7 characters and it didn't work....then I changed it to 7 characters and it WORKED! Thanks guys! Both work great!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Ringtones</key>
<dict>
<key>SheWants.m4a</key>
<dict>
<key>GUID</key><string>0000000000000001</string>
<key>Name</key><string>SheWants</string>
<key>Total Time</key><integer>34226</integer>
</dict>
<key>SheWants.m4r</key>
<dict>
<key>GUID</key><string>0000000000000001</string>
<key>Name</key><string>SheWants</string>
<key>Total Time</key><integer>34226</integer>
</dict>
<key>UKWITIS.m4a</key>
<dict>
<key>GUID</key><string>0000000000000002</string>
<key>Name</key><string>UKWITIS</string>
<key>Total Time</key><integer>22226</integer>
</dict>
<key>UKWITIS.m4r</key>
<dict>
<key>GUID</key><string>0000000000000002</string>
<key>Name</key><string>UKWITIS</string>
<key>Total Time</key><integer>22226</integer>
</dict>
</dict>
</dict>
</plist>
-
10-19-2007, 02:54 AM #125
I just tried using the sendsong method and it's still hit or miss with the ringtones. Some will play some will not. Adding ringtones has been giving me fits. It took me forever to get one to work. I finally got three on the phone working than I decided to add two more and than one of the frist three quit working...lol I think my phone is just Iphucking with me.
-
10-19-2007, 04:16 AM #126
I finally got the last 5 of my 18 ringtones working using the renaming thing. The file name can be longer than 7 characters. Most of mine are longer and have spaces in the names. But the 5 that didn't work, I simply removed the spaces from the .m4a file names and changed the .plist to reflect that, copied them all over using iPhoneBrowser(1.4) and now I have all my ringtones. Whew!
Not sure why it works though. Perhaps Apple is using some silly ascii code checksum on the file names.
All I can say is, it is gonna take a lot for me to upgrade to another firmware and have to go through all this again. Flash support, maybe.
-
10-19-2007, 05:23 AM #127
To preserve ringtones after syncing to iTunes:
1. Install FixRingtones.app, attached to this message.
2. Run FixRingtones after each iTunes sync!
You need to have your customized Ringtones.plist saved as Ringtones.plist.OK (located in /var/root/Media/iTunes_Control/iTunes/).
This is just a small bash script that copies /var/root/Media/iTunes_Control/iTunes/Ringtones.plist.OK, if it exists, to Ringtones.plist.
--
MikeLast edited by Tinman; 10-19-2007 at 03:12 PM.
-
10-19-2007, 11:37 AM #128
Did not work. First, the permissions were not set right. Next when I ran it from Winscp, it complained about the 'else'. The .sh file looks ok, so I could not figure out what is wrong. So, I just deleted the if conditional, and now it works fine (of course, all it is doing is a cp at this point).
ANOTHER strange thing with ringtones..... I made 4 ringtones. One ringtone would not work. The name that was give was DFIR.m4a and DFIRdeedeedeespoof.m4r. SO... I renamed the spoof to DFIR.m4r, corrected the ringtone.plist file, and it STILL DID NOT WORK. So, for the heck of it, I renamed both of them to DDDD, corrected the ringtone.plist, and then THEY WORKED. There must be some method to the madness, but I sure cant figure it out.
-
10-19-2007, 11:57 AM #129
It works. You need bash on the iPhone, obviously.
It's up to you when installing an app manually, to set its permissions. This is not a PXL installer.First, the permissions were not set right.
Once you get the app running permissions on the plist are irrelevant. There is no need for anything more than rw-r--r--.
You don't run it from WinSCP, it's meant to be run from the springboard. You only need WinSCP to install it, and to set the permissions on the .sh file.Next when I ran it from Winscp, it complained about the 'else'. The .sh file looks ok, so I could not figure out what is wrong. So, I just deleted the if conditional, and now it works fine (of course, all it is doing is a cp at this point).
--
Mike
-
The Following User Says Thank You to Tinman For This Useful Post:
PhoneLine (10-19-2007)
-
10-19-2007, 12:44 PM #130My iPhone is a Part of Me
- Join Date
- Aug 2007
- Location
- New York City
- Posts
- 508
- Thanks
- 65
- Thanked 155 Times in 54 Posts
Yep, the app works fine, thanks for posting it

As some have mentioned when I sync and then either run the tapp or now this app, or even moving the file manually, the ringtones default back to marimba.
Just do a restart on the phone and your custom sounds should come back. So, its sync, run your prefered method of restoring the plist and then reboot the phone. Then the sounds should play when people call.
-
10-19-2007, 01:10 PM #131
I do have bash. I looked at the script, and it should work fine. I think there might be a few versions (of bash) laying around the net, so let me find another.
I did set the permissions to 755.
And yes, when something does not work, I run it from WinSCP to figure out what is wrong with it. It reports the errors to a console where I can see it.
-
10-19-2007, 01:46 PM #132
It's not the version of bash. It's only a simple cp command.
Also, the error from the else clause has no effect on the part of the script that matters. Once it gets to that point, assuming /var/root/Media/iTunes_Control/iTunes/Ringtones.plist.OK exists, the copying is done (tested that too).
The only reason I made it conditional to run the cp line was in case someone tried to run it without Ringtones.plist.OK. I was going to create it out of Ringtones.plist, however that seemed pointless so I left it be. But, again, that is not stopping the cp command. You could take out everything but the cp command, but if it's not working there is something else wrong. EDIT: Actually I did take everything out of it, and re-uploaded the file.
I suspect you don't have Ringtones.plist.OK file in the /var/root/Media/iTunes_Control/iTunes folder. With this it won't be able to do anything.
In any event it works for me, and it's easier than manually saving my custom plist, or even using Tapp.
--
MikeLast edited by Tinman; 10-19-2007 at 03:11 PM.
-
10-19-2007, 02:56 PM #133
Well...I have to say that I do love a good mystery and am intrigued by the seeming randomness with which these custom ringtones don't play, play, then don't play again based on continued modification of the plist.
I say, seemingly, because there is a cause and thus a pattern; we just haven't figured it out. We are also in good company in that iToner is having similar issues and Ambrosia is a pretty Rockin' software company.
Here's what I think so far...perhaps a pattern will emerge. I'll be using Bold for what I assume are facts, Normal text for Guesses/Non-definitive Observations, and Bold-Italics for proposed tests this community could run:
1) <Key> Total Time</key> being present or not does not, by itself, affect playability.
2) Tones can work with the media various length filenames, eg., Harry.m4a or Harrypotter.m4a
3) Media Files are not really the issue in that they can be played via iPhonebrowser and modifications to the .plist can make previously non-playing tones start to play with no modifications to the media. For example, adding additional tones to the plist can cause earlier tones to start or stop working.
4) Not rebooting after the addition of media and/or modifications of .plist can result in tones playing correctly in Sounds and in Contacts but when an actual call comes in default Marimba will play. Rebooting seems to solve this.
5) Something critical occurs the first time the iPhone loads ringtones.plist; it is at this point a successful association between the spoof.m4r and real.m4a occurs.
6) The spoof and real filenames being the same or not seems to have no effect, e.g., spoof.m4r:harry.m4a vs harry.m4f:harry.m4a
7) Embedded metadata may add stability or increase odds of playability. Purchased ringtones include matching metadata for Artist, Album Artist, Genre, and Total Time keys. Try creating a custom ringtone with full and matching metadata. Also test this by adding the <key></key> but use null values
8) Perhaps there is something "magic" in a purchased ringtone that would enable it to be a more perfect spoof file. Test by making a copy of a purchased .m4r then rename and repurpose it as the spoof.m4r file.
9) Perhaps the <key>Name</key> field MUST match the embedded metadata in the .m4a files. Test this with several pairs of files where, for each pair, one <key>Name</key> matches the embedded name and one does not. If the ones where the names match consistently work, that would be significant.
Anyway...I'll be running these tests myself when not until much later tonight so hopefully folks can try some of these things out and comment back on what works vs what doesn't.
The answer is out there.
-
10-19-2007, 11:43 PM #134
i done all thing , any it not work
however , finally , i know what the problem ....
it require BSD subsystem


one more thing , you have to save the sh file to the unix line endling format (LF)
if not , it will tell you ..
# ./FixRingtones.sh
zsh: ./FixRingtones.sh: bad interpreter: /bin/bash^M: no such file or directoryLast edited by 008325; 10-20-2007 at 12:10 AM.
-
10-20-2007, 12:38 AM #135
OK, I got a 'fix' for the sync problem. Well, its more like a 'band-aide'. It basically, uses a simular scheme to 'fixringtone' app, but my solution works automatically.
URL Corrected
get it from http://www.klo-group.com/auction/ringaide.zip
1) move ringtone to the /usr/bin, and chmod it to 755.
2) move the plist file to /System/Library/LaunchDaemons
3) now go to the /var/root/Media/iTunes_Control/iTunes directory, and copy your Ringtones.plist to Ringtones.plist.OK
4) reboot your phone.
you can view the ringaide file if you are interested in knowing what is going on.
This would be a good addition to sendsong distribution (hint hint hint).
ill monitor the thead for the next few hours incase you have problems.
enjoy
richLast edited by rklosinski; 10-20-2007 at 08:40 AM.
-
10-20-2007, 05:23 PM #136
okay.. not even to the sync thing yet...
.. but, -- send song works perfectly -- every time with transferring the rings to the proper place to the phone. It's definitely hit and miss as to whether they'll play.
I found that if you change the name of the m4a and the m4r to the same four letters -- you have a better chance of them playing. e.g. AAAA.m4a and AAAAspoof.m4r work every time.
If you can't get them to play right away.. change the four letters. There doesn't seem to be any rhyme or reason for what does and what doesn't work.. but, if you keep changing them .. eventually they will work.
*** important.. you MUST change the names as well in the plist.
j
-
10-20-2007, 06:32 PM #137My iPhone is a Part of Me
- Join Date
- Aug 2007
- Location
- New York City
- Posts
- 508
- Thanks
- 65
- Thanked 155 Times in 54 Posts
Anyone have the ringtone on the phone and working under system/sounds, but then when the tone is applied to a person in your contacts it doesn't play?
I have a sound that works, and if I look at the person in my address book it shows this custom tone as the ringtone for them, but when they call, the default ringtone plays instead.
Seems odd.
-
10-20-2007, 10:15 PM #138
I think i might have found something...
soo the length of the name.. doesnt matter.. also the spoof doesnt have to be called the same either... why the song doesnt play... all comes down the GUID number... not 100% just been messing around and trying stuff and that seems to MY issue... I tried some different numbers and got them working...
nevermind.. i created a new ringtone and i cant get it to play no matter what... so i have NO idea.. 6-7 work.. i'm good.. i give up... good luck to other people who are looking for that hidden ringtone pattern,...Last edited by slayorktc; 10-20-2007 at 10:15 PM. Reason: Automerged Doublepost
-
10-21-2007, 03:07 AM #139
ill just wait until something like iToner comes out for pc
-
10-21-2007, 04:06 PM #140



LinkBack URL
About LinkBacks
Reply With Quote
