I have had this problem on both the Nexus 4 and Nexus 5 (of all phones).
I have a file, it is the same ringtone file I use on all my phones, it is an edited mp3 of a song I like.
I put this file in the "Ringtones" folder of my device.
When I go to change my ringtone, my new file is not available as a selection in the Android settings.
Rebooting the device does not cause the new file to be detected.
What I end up doing EVERY SINGLE TIME I have to add this ringtone file (I wipe my device occasionally) is finding the "Media Storage" app on my device and clearing its memory. At this point the phone thinks there are no ringtones, but then once I reboot, all the old ringtones are there along with my ringtone which has been in the same location the ENTIRE TIME.
So I have a workaround, but can anyone tell me where I am going wrong?! This is driving me nuts! Is anyone else seeing this problem?
I have to be missing something simple because all the internet forums I am reading are all straightforward "just put the file in the ringtones folder and it works like magic" which is very frustrating.
EDIT: Some additional info, I have had the file there for a couple days now, just to see if that makes a difference. Rebooted the device over a dozen times in the last couple days. The file still is not available as an option.
EDIT 2: See comments below. Seems to be something to do with how I am placing the file there, but still strange that media scan does not pick it up on reboot. Anyone know anything about media scanning? Maybe it is optimized on boot to skip folders like the Ringtone folders since those shouldn't change frequently...?