Downloaded from https://salsa.debian.org/games-team/teeworlds/raw/master/debian/patches/new-wavpack.patch. From: Markus Koschany Date: Thu, 25 Oct 2018 20:52:27 +0200 Subject: new-wavpack Make wavpack compatible with Debian's version. --- src/engine/client/sound.cpp | 33 +++++++++++++++------------------ src/engine/client/sound.h | 4 ---- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp index 048ec24..80de3c5 100644 --- a/src/engine/client/sound.cpp +++ b/src/engine/client/sound.cpp @@ -325,10 +325,6 @@ void CSound::RateConvert(int SampleID) pSample->m_NumFrames = NumFrames; } -int CSound::ReadData(void *pBuffer, int Size) -{ - return io_read(ms_File, pBuffer, Size); -} ISound::CSampleHandle CSound::LoadWV(const char *pFilename) { @@ -336,6 +332,8 @@ ISound::CSampleHandle CSound::LoadWV(const char *pFilename) int SampleID = -1; char aError[100]; WavpackContext *pContext; + char aWholePath[1024]; + IOHANDLE File; // don't waste memory on sound when we are stress testing if(g_Config.m_DbgStress) @@ -349,25 +347,29 @@ ISound::CSampleHandle CSound::LoadWV(const char *pFilename) return CSampleHandle(); lock_wait(m_SoundLock); - ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL); - if(!ms_File) + File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL, aWholePath, sizeof(aWholePath)); + if(!File) { dbg_msg("sound/wv", "failed to open file. filename='%s'", pFilename); lock_unlock(m_SoundLock); return CSampleHandle(); } + else + { + io_close(File); + } SampleID = AllocID(); if(SampleID < 0) { - io_close(ms_File); - ms_File = 0; + io_close(File); + File = 0; lock_unlock(m_SoundLock); return CSampleHandle(); } pSample = &m_aSamples[SampleID]; - pContext = WavpackOpenFileInput(ReadData, aError); + pContext = WavpackOpenFileInput(aWholePath, aError, OPEN_2CH_MAX, 0); if (pContext) { int m_aSamples = WavpackGetNumSamples(pContext); @@ -385,8 +387,8 @@ ISound::CSampleHandle CSound::LoadWV(const char *pFilename) if(pSample->m_Channels > 2) { dbg_msg("sound/wv", "file is not mono or stereo. filename='%s'", pFilename); - io_close(ms_File); - ms_File = 0; + io_close(File); + File = 0; lock_unlock(m_SoundLock); return CSampleHandle(); } @@ -401,8 +403,8 @@ ISound::CSampleHandle CSound::LoadWV(const char *pFilename) if(BitsPerSample != 16) { dbg_msg("sound/wv", "bps is %d, not 16, filname='%s'", BitsPerSample, pFilename); - io_close(ms_File); - ms_File = 0; + io_close(File); + File = 0; lock_unlock(m_SoundLock); return CSampleHandle(); } @@ -429,9 +431,6 @@ ISound::CSampleHandle CSound::LoadWV(const char *pFilename) dbg_msg("sound/wv", "failed to open %s: %s", pFilename, aError); } - io_close(ms_File); - ms_File = NULL; - if(g_Config.m_Debug) dbg_msg("sound/wv", "loaded %s", pFilename); @@ -560,7 +559,5 @@ bool CSound::IsPlaying(CSampleHandle SampleID) return Ret; } -IOHANDLE CSound::ms_File = 0; - IEngineSound *CreateEngineSound() { return new CSound; } diff --git a/src/engine/client/sound.h b/src/engine/client/sound.h index ff357c0..cec2cde 100644 --- a/src/engine/client/sound.h +++ b/src/engine/client/sound.h @@ -21,10 +21,6 @@ public: static void RateConvert(int SampleID); - // TODO: Refactor: clean this mess up - static IOHANDLE ms_File; - static int ReadData(void *pBuffer, int Size); - virtual bool IsSoundEnabled() { return m_SoundEnabled != 0; } virtual CSampleHandle LoadWV(const char *pFilename); s/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise Maxim Cournoyer 2020-10-13installer: Add Emacs EXWM desktop environment....Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller. Jan (janneke) Nieuwenhuizen 2020-08-28system: Remove extra line from 'lightweight-desktop.tmpl'....This is a followup to c7af96871737ffa0e2be879e200573bc60603c8c. * gnu/system/examples/lightweight-desktop.tmpl: Remove extra 'use-package-modules' line. Ludovic Courtès 2020-04-02system: Add xterm to lightweight-desktop example....That makes ratpoison more usable, for instance. * gnu/system/examples/lightweight-desktop.tmpl (packages): Add XTERM. Ludovic Courtès