forked from Aloshi/EmulationStation
-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement mp3/ogg Background Music Player using SDL2-mixer #725
Open
bluestang2006
wants to merge
45
commits into
RetroPie:master
Choose a base branch
from
bluestang2006:bgm_pr
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
9ab5223
Revert "Use local game art ( image, marquee and video ) from romfolde…
joolswills 49ca22a
bump version to v2.7.5
joolswills 0330cfb
set curl to follow redirects to fix scraper error
jrassa 920db2b
bump version to v2.7.6
joolswills 66853e5
Revert "Revert "Use local game art ( image, marquee and video ) from …
joolswills a384c20
Merge remote-tracking branch 'retropie/master' into stable
joolswills 2af2ec5
bump version to v2.8.0
joolswills c296a7d
Merge remote-tracking branch 'retropie/master' into stable
joolswills 10ed2f2
bump version to v2.8.1
joolswills c6fa3c7
Merge remote-tracking branch 'retropie/master' into stable
joolswills 25ef0c8
bump version to v2.8.2
joolswills 5a40734
Revert "InputManager: improve trigger axis calibration"
joolswills 3a9297a
bump version to v2.8.3
joolswills b4fb8ff
Merge remote-tracking branch 'retropie/master' into stable
joolswills 72b8644
bump version to v2.8.4
joolswills a252ea2
filterTrigger: filter negative trigger axis event after positive axis…
psyke83 e8216c7
Merge remote-tracking branch 'retropie/master' into stable
joolswills 7e6c2bf
bump version to v2.9.0
joolswills 9d97dd1
Merge remote-tracking branch 'retropie/master' into stable
joolswills 49d440a
bump version to v2.9.1
joolswills 7aff7ce
Merge remote-tracking branch 'retropie/master' into stable
joolswills e56be5e
bump version to v2.9.2
joolswills 6e24dfe
Merge remote-tracking branch 'retropie/master' into stable
joolswills 982f6cc
bump version to v2.9.3
joolswills 534883e
Merge remote-tracking branch 'retropie/master' into stable
joolswills be9e0f3
bump version to v2.9.4
joolswills 91760a0
Merge remote-tracking branch 'retropie/master' into stable
joolswills 2d6e425
bump version to v2.9.5
joolswills eae5f0f
Merge remote-tracking branch 'retropie/master' into stable
joolswills be5dcaf
bump version to v2.9.6
joolswills 723935d
Merge remote-tracking branch 'retropie/master' into stable
joolswills d9be033
Merge remote-tracking branch 'retropie/master' into stable
joolswills c805670
bump version to v2.10.0
joolswills 1d05ae4
Revert default ThreadedLoading option
pjft c9d905c
bump version to v2.10.1
joolswills 677f63c
Merge remote-tracking branch 'retropie/master' into stable
joolswills 2dd5e6b
bump version to v2.10.2
joolswills 0091d04
Background Music Player
bluestang2006 ff6117f
Improved volume slider
bluestang2006 adcfcb9
Add music volume slider
bluestang2006 70a120a
Credits
bluestang2006 d67431f
Revert mixerName, mixerCard
bluestang2006 e5b5abd
Revert Settings.cpp, Settings.h
bluestang2006 6f6e9e9
Fix GuiMenu.cpp
bluestang2006 f19383e
Set default folders where music files can be stored
bluestang2006 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying | ||
# file Copyright.txt or https://cmake.org/licensing for details. | ||
|
||
# Copyright 2019 Amine Ben Hassouna <[email protected]> | ||
# Copyright 2000-2019 Kitware, Inc. and Contributors | ||
# All rights reserved. | ||
|
||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions | ||
# are met: | ||
|
||
# * Redistributions of source code must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
|
||
# * Redistributions in binary form must reproduce the above copyright | ||
# notice, this list of conditions and the following disclaimer in the | ||
# documentation and/or other materials provided with the distribution. | ||
|
||
# * Neither the name of Kitware, Inc. nor the names of Contributors | ||
# may be used to endorse or promote products derived from this | ||
# software without specific prior written permission. | ||
|
||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
#[=======================================================================[.rst: | ||
FindSDL2_mixer | ||
-------------- | ||
|
||
Locate SDL2_mixer library | ||
|
||
This module defines the following 'IMPORTED' target: | ||
|
||
:: | ||
|
||
SDL2::Mixer | ||
The SDL2_mixer library, if found. | ||
Have SDL2::Core as a link dependency. | ||
|
||
|
||
|
||
This module will set the following variables in your project: | ||
|
||
:: | ||
|
||
SDL2_MIXER_LIBRARIES, the name of the library to link against | ||
SDL2_MIXER_INCLUDE_DIRS, where to find the headers | ||
SDL2_MIXER_FOUND, if false, do not try to link against | ||
SDL2_MIXER_VERSION_STRING - human-readable string containing the | ||
version of SDL2_mixer | ||
|
||
This module responds to the following cache variables: | ||
|
||
:: | ||
|
||
SDL2_MIXER_PATH | ||
Set a custom SDL2_mixer Library path (default: empty) | ||
|
||
SDL2_MIXER_NO_DEFAULT_PATH | ||
Disable search SDL2_mixer Library in default path. | ||
If SDL2_MIXER_PATH (default: ON) | ||
Else (default: OFF) | ||
|
||
SDL2_MIXER_INCLUDE_DIR | ||
SDL2_mixer headers path. | ||
|
||
SDL2_MIXER_LIBRARY | ||
SDL2_mixer Library (.dll, .so, .a, etc) path. | ||
|
||
|
||
Additional Note: If you see an empty SDL2_MIXER_LIBRARY in your project | ||
configuration, it means CMake did not find your SDL2_mixer library | ||
(SDL2_mixer.dll, libsdl2_mixer.so, etc). Set SDL2_MIXER_LIBRARY to point | ||
to your SDL2_mixer library, and configure again. This value is used to | ||
generate the final SDL2_MIXER_LIBRARIES variable and the SDL2::Mixer target, | ||
but when this value is unset, SDL2_MIXER_LIBRARIES and SDL2::Mixer does not | ||
get created. | ||
|
||
|
||
$SDL2MIXERDIR is an environment variable that would correspond to the | ||
./configure --prefix=$SDL2MIXERDIR used in building SDL2_mixer. | ||
|
||
$SDL2DIR is an environment variable that would correspond to the | ||
./configure --prefix=$SDL2DIR used in building SDL2. | ||
|
||
|
||
|
||
Created by Amine Ben Hassouna: | ||
Adapt FindSDL_mixer.cmake to SDL2_mixer (FindSDL2_mixer.cmake). | ||
Add cache variables for more flexibility: | ||
SDL2_MIXER_PATH, SDL2_MIXER_NO_DEFAULT_PATH (for details, see doc above). | ||
Add SDL2 as a required dependency. | ||
Modernize the FindSDL2_mixer.cmake module by creating a specific target: | ||
SDL2::Mixer (for details, see doc above). | ||
|
||
Original FindSDL_mixer.cmake module: | ||
Created by Eric Wing. This was influenced by the FindSDL.cmake | ||
module, but with modifications to recognize OS X frameworks and | ||
additional Unix paths (FreeBSD, etc). | ||
#]=======================================================================] | ||
|
||
# SDL2 Library required | ||
find_package(SDL2 QUIET) | ||
if(NOT SDL2_FOUND) | ||
set(SDL2_MIXER_SDL2_NOT_FOUND "Could NOT find SDL2 (SDL2 is required by SDL2_mixer).") | ||
if(SDL2_mixer_FIND_REQUIRED) | ||
message(FATAL_ERROR ${SDL2_MIXER_SDL2_NOT_FOUND}) | ||
else() | ||
if(NOT SDL2_mixer_FIND_QUIETLY) | ||
message(STATUS ${SDL2_MIXER_SDL2_NOT_FOUND}) | ||
endif() | ||
return() | ||
endif() | ||
unset(SDL2_MIXER_SDL2_NOT_FOUND) | ||
endif() | ||
|
||
|
||
# Define options for searching SDL2_mixer Library in a custom path | ||
|
||
set(SDL2_MIXER_PATH "" CACHE STRING "Custom SDL2_mixer Library path") | ||
|
||
set(_SDL2_MIXER_NO_DEFAULT_PATH OFF) | ||
if(SDL2_MIXER_PATH) | ||
set(_SDL2_MIXER_NO_DEFAULT_PATH ON) | ||
endif() | ||
|
||
set(SDL2_MIXER_NO_DEFAULT_PATH ${_SDL2_MIXER_NO_DEFAULT_PATH} | ||
CACHE BOOL "Disable search SDL2_mixer Library in default path") | ||
unset(_SDL2_MIXER_NO_DEFAULT_PATH) | ||
|
||
set(SDL2_MIXER_NO_DEFAULT_PATH_CMD) | ||
if(SDL2_MIXER_NO_DEFAULT_PATH) | ||
set(SDL2_MIXER_NO_DEFAULT_PATH_CMD NO_DEFAULT_PATH) | ||
endif() | ||
|
||
# Search for the SDL2_mixer include directory | ||
find_path(SDL2_MIXER_INCLUDE_DIR SDL_mixer.h | ||
HINTS | ||
ENV SDL2MIXERDIR | ||
ENV SDL2DIR | ||
${SDL2_MIXER_NO_DEFAULT_PATH_CMD} | ||
PATH_SUFFIXES SDL2 | ||
# path suffixes to search inside ENV{SDL2DIR} | ||
# and ENV{SDL2MIXERDIR} | ||
include/SDL2 include | ||
PATHS ${SDL2_MIXER_PATH} | ||
DOC "Where the SDL2_mixer headers can be found" | ||
) | ||
|
||
if(CMAKE_SIZEOF_VOID_P EQUAL 8) | ||
set(VC_LIB_PATH_SUFFIX lib/x64) | ||
else() | ||
set(VC_LIB_PATH_SUFFIX lib/x86) | ||
endif() | ||
|
||
# Search for the SDL2_mixer library | ||
find_library(SDL2_MIXER_LIBRARY | ||
NAMES SDL2_mixer | ||
HINTS | ||
ENV SDL2MIXERDIR | ||
ENV SDL2DIR | ||
${SDL2_MIXER_NO_DEFAULT_PATH_CMD} | ||
PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX} | ||
PATHS ${SDL2_MIXER_PATH} | ||
DOC "Where the SDL2_mixer Library can be found" | ||
) | ||
|
||
# Read SDL2_mixer version | ||
if(SDL2_MIXER_INCLUDE_DIR AND EXISTS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h") | ||
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+[0-9]+$") | ||
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_MAJOR "${SDL2_MIXER_VERSION_MAJOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_MINOR "${SDL2_MIXER_VERSION_MINOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_PATCH "${SDL2_MIXER_VERSION_PATCH_LINE}") | ||
set(SDL2_MIXER_VERSION_STRING ${SDL2_MIXER_VERSION_MAJOR}.${SDL2_MIXER_VERSION_MINOR}.${SDL2_MIXER_VERSION_PATCH}) | ||
unset(SDL2_MIXER_VERSION_MAJOR_LINE) | ||
unset(SDL2_MIXER_VERSION_MINOR_LINE) | ||
unset(SDL2_MIXER_VERSION_PATCH_LINE) | ||
unset(SDL2_MIXER_VERSION_MAJOR) | ||
unset(SDL2_MIXER_VERSION_MINOR) | ||
unset(SDL2_MIXER_VERSION_PATCH) | ||
endif() | ||
|
||
set(SDL2_MIXER_LIBRARIES ${SDL2_MIXER_LIBRARY}) | ||
set(SDL2_MIXER_INCLUDE_DIRS ${SDL2_MIXER_INCLUDE_DIR}) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
|
||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_mixer | ||
REQUIRED_VARS SDL2_MIXER_LIBRARIES SDL2_MIXER_INCLUDE_DIRS | ||
VERSION_VAR SDL2_MIXER_VERSION_STRING) | ||
|
||
|
||
mark_as_advanced(SDL2_MIXER_PATH | ||
SDL2_MIXER_NO_DEFAULT_PATH | ||
SDL2_MIXER_LIBRARY | ||
SDL2_MIXER_INCLUDE_DIR) | ||
|
||
|
||
if(SDL2_MIXER_FOUND) | ||
|
||
# SDL2::Mixer target | ||
if(SDL2_MIXER_LIBRARY AND NOT TARGET SDL2::Mixer) | ||
add_library(SDL2::Mixer UNKNOWN IMPORTED) | ||
set_target_properties(SDL2::Mixer PROPERTIES | ||
IMPORTED_LOCATION "${SDL2_MIXER_LIBRARY}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${SDL2_MIXER_INCLUDE_DIR}" | ||
INTERFACE_LINK_LIBRARIES SDL2::Core) | ||
endif() | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,11 @@ | ||
Programming | ||
Alec "Aloshi" Lofquist - http://www.aloshi.com | ||
|
||
BGM Player using SDL2-mixer | ||
Nicolas Adenis-Lamarre - https://batocera.org | ||
Fabrice Caruso - https://batocera.org | ||
Andrew Falcon - [email protected] (backported code) | ||
|
||
UI Art & Design | ||
Nils Bonenberger | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -158,8 +158,8 @@ SET(CPACK_RESOURCE_FILE README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") | |
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Alec Lofquist <[email protected]>") | ||
SET(CPACK_DEBIAN_PACKAGE_SECTION "misc") | ||
SET(CPACK_DEBIAN_PACKAGE_PRIORITY "extra") | ||
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libsdl2-2.0-0, libfreeimage3, libfreetype6, libcurl3, libasound2") | ||
SET(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS "debhelper (>= 8.0.0), cmake, g++ (>= 4.8), libsdl2-dev, libfreeimage-dev, libfreetype6-dev, libcurl4-openssl-dev, libasound2-dev, libgl1-mesa-dev, rapidjson-dev") | ||
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libsdl2-2.0-0, libsdl2-mixer-2.0-0, libfreeimage3, libfreetype6, libcurl3, libasound2") | ||
SET(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS "debhelper (>= 8.0.0), cmake, g++ (>= 4.8), libsdl2-dev, libsdl2-mixer-dev, libfreeimage-dev, libfreetype6-dev, libcurl4-openssl-dev, libasound2-dev, libgl1-mesa-dev, rapidjson-dev") | ||
|
||
SET(CPACK_PACKAGE_VENDOR "emulationstation.org") | ||
SET(CPACK_PACKAGE_VERSION "2.0.0~rc1") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,13 +5,14 @@ | |
// These numbers and strings need to be manually updated for a new version. | ||
// Do this version number update as the very last commit for the new release version. | ||
#define PROGRAM_VERSION_MAJOR 2 | ||
#define PROGRAM_VERSION_MINOR 11 | ||
#define PROGRAM_VERSION_MAINTENANCE 0 | ||
#define PROGRAM_VERSION_STRING "2.11.0rp-dev" | ||
#define PROGRAM_VERSION_MINOR 10 | ||
#define PROGRAM_VERSION_MAINTENANCE 2 | ||
#define PROGRAM_VERSION_STRING "2.10.2rp" | ||
|
||
#define PROGRAM_BUILT_STRING __DATE__ " - " __TIME__ | ||
|
||
#define RESOURCE_VERSION_STRING "2,11,0\0" | ||
#define RESOURCE_VERSION_STRING "2,10,2\0" | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is the version changed? |
||
#define RESOURCE_VERSION PROGRAM_VERSION_MAJOR,PROGRAM_VERSION_MINOR,PROGRAM_VERSION_MAINTENANCE | ||
|
||
#endif // ES_APP_EMULATION_STATION_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the version changed?