This is an idea I had for Ren'Py, which saves visual novel developers from having to type out a complete path for any music, sound or voice files they want to play in their project. If implemented, it will make for less cluttered project directories and less redundancy in play and queue statements.
config.audio_add_channel_dir = False | Trueplay or queue statement. For example, play music "foo.ogg" will play music/foo.ogg on channel music. False will cause Ren'Py to act as it historically has.config.audio_base_dir = Null | "value"play or queue statement, before a channel name if audio_add_channel_dir is on. For example, with audio_base_dir set to audio, play music "foo.ogg" will play audio/music/foo.ogg if audio_add_channel_dir is True, or audio/foo.ogg if False.As it is, it is possible to get this behaviour out of Ren'Py right now via the user-defined statements capability; however, it will require alternate statement names as you cannot remove or redefine play or queue through the renpy.statements interface (AFAIK). You can edit common/00statements.rpy (where the statements are defined) but at the risk of losing your work with the next release of Ren'Py.
play music "/foo.ogg" would play foo.ogg regardless of audio_add_channel_dir and audio_base_dir settings.