f8589de476
* Initial playlist-based custom soundtracks support This is the initial implementation of playlist-based (cellSearch) custom soundtracks support. It is based on the initial work by @Megamouse and currently uses a directory-based approach to manage albums and utilizes FFMPEG to read audio metadata. Background: The real PS3 can import music in XMB from USB into its internal storage (/dev_hdd0/music) and additionally stores metadata (artist, trackname, tracknumber, ...) in a database (/dev_hdd0/mms/db/metadata_db_hdd). Games can make use of imported music via cellSearch. For the time being, this implementation does NOT make use of metadata_db_hdd as the db-format is not well understood and a folder-based approch is easier to use. Users only have to create folders inside /dev_hdd0/music and add music to it to create a "playlist". This playlists contents will be sorted alphabetically. As a result, users could prefix numbers to the audio-files to force a specific order. The only really supported audio format is MP3. I also added support for AAC, AC3, WMA, ATRAC3 and ATRAC3 plus, however, non of these formats were successfully tested for several reasons. AC3 and WMA are not enabled in the current FFMPEG build which makes reading codec-specific data impossible. We could enable these later if we want to. AAC actually could work but I was not able to get it working in WipeOut HD Fury. My guess is that the game does not support AAC. Finally, I could not find any ATRAC3 (or Plus) music to test with. This implementation currently only implements parts of cellSearchStartListSearch() and cellSearchStartContentSearchInList(). There are several other functions which are still completely unimplemented and will probably be needed by other games. However, this implementation is a starting-point and is enough for WipeOut and maybe a few other games. A video which showcases this custom soundtrack support is available here: https://www.youtube.com/watch?v=4nu1OCtONTY Next steps: - Utilize sortKey in cellSearchStartContentSearchInList() - Eliminate TODOs - Implement the missing other functions - Test on more games - I do not own many that support custom soundtracks Signed-off-by: gladiac1337 <gladiac@gmail.com> Co-authored-by: Megamouse <studienricky89@googlemail.com> Co-authored-by: Ani <ani-leo@outlook.com> Co-authored-by: Ivan <nekotekina@gmail.com> |
||
---|---|---|
.ci | ||
.github | ||
3rdparty | ||
asmjit@fc251c914e | ||
asmjitsrc | ||
bin | ||
llvm@cb7748dfa0 | ||
llvm_build | ||
rpcs3 | ||
Utilities | ||
Vulkan | ||
.cirrus.yml | ||
.clang-format | ||
.editorconfig | ||
.gdbinit | ||
.gitignore | ||
.gitmodules | ||
azure-pipelines.yml | ||
BUILDING.md | ||
CMakeLists.txt | ||
common_default_macros.props | ||
common_default.props | ||
git-clang-format | ||
LICENSE | ||
pre-commit.readme | ||
README.md | ||
rpcs3_debug.props | ||
rpcs3_default.props | ||
rpcs3_glslang.props | ||
rpcs3_llvm.props | ||
rpcs3_release.props | ||
rpcs3.sln | ||
usertype.dat |
RPCS3
The world's first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows and Linux.
You can find some basic information on our website. Game info is being populated on the Wiki. For discussion about this emulator, PS3 emulation, and game compatibility reports, please visit our forums and our Discord server.
Support Lead Developers Nekotekina and kd-11 on Patreon
Contributing
If you want to help the project but do not code, the best way to help out is to test games and make bug reports. See:
If you want to contribute as a developer, please take a look at the following pages:
You should also contact any of the developers in the forums or in the Discord server to learn more about the current state of the emulator.
Building
See BUILDING.md for more information about how to setup an environment to build RPCS3.
Running
Check our friendly quickstart guide to make sure your computer meets the minimum system requirements to run RPCS3.
Don't forget to have your graphics driver up to date and to install the Visual C++ Redistributable Packages for Visual Studio 2019 if you are a Windows user.
License
Most files are licensed under the terms of GNU GPLv2 License; see LICENSE file for details. Some files may be licensed differently; check appropriate file headers for details.