diff --git a/README.md b/README.md index 1c6f2fc..c6ca5c4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # performous -While Performous might be classified as a karaoke program, it is actually much more than that. Instead of just displaying the lyrics, notes are also displayed and the performance is scored based on how well you actually hit the notes. Unlike in most other games in this genre, you will also see the precise pitch that you are singing, so that you can see what you are doing wrong and easily (well, everything is relative) correct your pitch. +While Performous might be classified as a karaoke program, it is actually much more than that. +Instead of just displaying the lyrics, notes are also displayed and the performance is scored based on how well you actually hit the notes. Unlike in most other games in this genre, you will also see the precise pitch that you are singing, so that you can see what you are doing wrong and easily (well, everything is relative) correct your pitch. diff --git a/performous-1.3.1-ffmpeg-7.patch b/performous-1.3.1-ffmpeg-7.patch new file mode 100644 index 0000000..de619ea --- /dev/null +++ b/performous-1.3.1-ffmpeg-7.patch @@ -0,0 +1,19 @@ +diff --git a/game/ffmpeg.cc b/game/ffmpeg.cc +index db204fb8..528902a5 100644 +--- a/game/ffmpeg.cc ++++ b/game/ffmpeg.cc +@@ -290,8 +290,12 @@ AudioFFmpeg::AudioFFmpeg(fs::path const& filename, int rate, AudioCb audioCb) : + // setup resampler + m_resampleContext.reset(swr_alloc()); + if (!m_resampleContext) throw std::runtime_error("Cannot create resampling context"); +- av_opt_set_int(m_resampleContext.get(), "in_channel_layout", m_codecContext->channel_layout ? static_cast(m_codecContext->channel_layout) : av_get_default_channel_layout(m_codecContext->channels), 0); +- av_opt_set_int(m_resampleContext.get(), "out_channel_layout", av_get_default_channel_layout(AUDIO_CHANNELS), 0); ++ AVChannelLayout in_layout; ++ AVChannelLayout out_layout; ++ av_channel_layout_default(&in_layout, m_codecContext->ch_layout.nb_channels); ++ av_channel_layout_default(&out_layout, AUDIO_CHANNELS); ++ av_opt_set_int(m_resampleContext.get(), "in_channel_layout", m_codecContext->ch_layout.u.mask ? static_cast(m_codecContext->ch_layout.u.mask) : in_layout.nb_channels, 0); ++ av_opt_set_int(m_resampleContext.get(), "out_channel_layout", out_layout.nb_channels, 0); + av_opt_set_int(m_resampleContext.get(), "in_sample_rate", m_codecContext->sample_rate, 0); + av_opt_set_int(m_resampleContext.get(), "out_sample_rate", static_cast(m_rate), 0); + av_opt_set_int(m_resampleContext.get(), "in_sample_fmt", m_codecContext->sample_fmt, 0); diff --git a/performous.spec b/performous.spec index 36e8e48..dc933d7 100644 --- a/performous.spec +++ b/performous.spec @@ -1,86 +1,89 @@ Name: performous -Version: 1.1 +Version: 1.3.1 Release: 1mamba -Summary: A free cross-platform band game +Summary: An open-source music and rhythm game Group: Graphical Desktop/Applications/Games Vendor: openmamba Distribution: openmamba -Packager: Ercole 'ercolinux' Carpanetto +Packager: Silvan Calarco URL: http://performous.org Source: https://github.com/performous/performous.git/%{version}/performous-%{version}.tar.bz2 +Patch0: performous-1.3.1-ffmpeg-7.patch License: GPL -BuildRequires: cmake -BuildRoot: %{_tmppath}/%{name}-%{version}-root ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libavcodec-ffmpeg-devel -BuildRequires: libavformat-ffmpeg-devel -BuildRequires: libavutil-ffmpeg-devel +BuildRequires: libSDL2-devel +BuildRequires: libaubio-devel +BuildRequires: libavcodec-devel +BuildRequires: libavformat-devel +BuildRequires: libavutil-devel BuildRequires: libboost-devel BuildRequires: libcairo-devel +BuildRequires: libepoxy-devel +BuildRequires: libfmt-devel +BuildRequires: libfontconfig-devel BuildRequires: libfreetype-devel BuildRequires: libgcc BuildRequires: libgdk-pixbuf-devel -BuildRequires: libGL-devel -BuildRequires: libglew-devel BuildRequires: libglib-devel BuildRequires: libglibmm-devel -BuildRequires: libGLU-devel -BuildRequires: libjpeg-devel +BuildRequires: libharfbuzz-devel +BuildRequires: libicu-devel +BuildRequires: libjpeg-turbo +BuildRequires: libopencv-devel BuildRequires: libpango-devel BuildRequires: libpng-devel BuildRequires: libportaudio-devel BuildRequires: libportmidi-devel BuildRequires: librsvg-devel -BuildRequires: libSDL-devel BuildRequires: libsigc++-devel BuildRequires: libstdc++6-devel -BuildRequires: libswscale-ffmpeg-devel -BuildRequires: libxml2-devel +BuildRequires: libswresample-devel +BuildRequires: libswscale-devel BuildRequires: libxml++-devel +BuildRequires: libxml2-devel BuildRequires: libz-devel -BuildRequires: libopencv-devel ## AUTOBUILDREQ-END +BuildRequires: cmake +BuildRequires: libportmidi-devel >= 1:2.0.4-1mamba Provides: Performous -Obsoletes: Performous +Obsoletes: Performous < 1.3.1 %description -While Performous might be classified as a karaoke program, it is actually much more than that. Instead of just displaying the lyrics, notes are also displayed and the performance is scored based on how well you actually hit the notes. Unlike in most other games in this genre, you will also see the precise pitch that you are singing, so that you can see what you are doing wrong and easily (well, everything is relative) correct your pitch. +While Performous might be classified as a karaoke program, it is actually much more than that. +Instead of just displaying the lyrics, notes are also displayed and the performance is scored based on how well you actually hit the notes. Unlike in most other games in this genre, you will also see the precise pitch that you are singing, so that you can see what you are doing wrong and easily (well, everything is relative) correct your pitch. + +%debug_package %prep %setup -q +%patch 0 -p1 -b .ffmpeg-7 %build -%cmake -d build +%cmake -d build \ + -DCMAKE_CXX_FLAGS="%{optflags} -Wno-error=unused-result" + %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall -C build +%find_lang %{name} --all-name + +install -d -m0755 %{buildroot}%{_mandir}/man6 +mv %{buildroot}%{_mandir}/performous.* %{buildroot}%{_mandir}/man6/ + %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%files +%files -f %{name}.lang %defattr(-,root,root) %{_bindir}/performous -%{_bindir}/ss_adpcm_decode -%{_bindir}/ss_cover_conv -%{_bindir}/ss_extract -%{_bindir}/ss_ipu_conv -#%{_bindir}/ss_ipu_decode -%{_bindir}/ss_pak_extract -%{_bindir}/gh_fsb_decrypt -%{_bindir}/gh_xen_decrypt -%{_bindir}/itg_pck -%{_bindir}/ss_archive_extract -%{_bindir}/ss_chc_decode -#%{_libdir}/performous/libda-1/*.so %{_datadir}/applications/performous.desktop -%{_datadir}/pixmaps/performous.svg %dir %{_datadir}/games/performous %dir %{_datadir}/games/performous/backgrounds -%{_datadir}/games/performous/backgrounds/*.svg +%{_datadir}/games/performous/backgrounds/* %dir %{_datadir}/games/performous/config %{_datadir}/games/performous/config/*.xml %dir %{_datadir}/games/performous/fonts @@ -93,21 +96,16 @@ While Performous might be classified as a karaoke program, it is actually much m %dir %{_datadir}/games/performous/sounds %{_datadir}/games/performous/sounds/*.ogg %dir %{_datadir}/games/performous/themes -%dir %{_datadir}/games/performous/themes/default -%{_datadir}/games/performous/themes/default/*.svg -%{_datadir}/games/performous/themes/default/*.obj -%{_datadir}/games/performous/themes/default/icon.bmp -%{_datadir}/games/performous/themes/default/*.png -%{_datadir}/games/performous/themes/default/*.ogg +%{_datadir}/games/performous/themes/* %dir %{_datadir}/games/performous/xsl %{_datadir}/games/performous/xsl/*.xsl -#%{_datadir}/pixmaps/performous.xpm -%{_datadir}/locale/*/LC_MESSAGES/*.mo -%{_mandir}/man1/gh_*.1* -%{_mandir}/man1/ss_*.1* +%{_datadir}/icons/hicolor/scalable/apps/performous.svg %{_mandir}/man6/performous.6* %changelog +* Sun Nov 17 2024 Silvan Calarco 1.3.1-1mamba +- update to 1.3.1 + * Tue Aug 23 2016 Automatic Build System 1.1-1mamba - automatic version update by autodist