summaryrefslogtreecommitdiffstats
path: root/apps/plugins/mikmod
AgeCommit message (Collapse)AuthorFilesLines
2020-09-30Add 192 and 176KHz to mikmod and test_sampr pluginsSolomon Peachy1-0/+2
Change-Id: I34e835ae0ae39da1ce50153eee86c14747705c4e
2020-08-25mikmod: Fix emulated fseek()Solomon Peachy1-1/+1
Was causing XM loader to fail Change-Id: I1dd1d87dd0d8587fae5f9db04a730fc42b625a11
2020-08-11mikmod: Upgrade mikmod core from v3.2.0 to v3.3.11Solomon Peachy41-2851/+5081
* Get rid of the non-functional GT2 loader * Add the UMX loader * Add HQ mixer routines (and make it configurable) * Allow samplerate to be configured at run/playtime * Support >64KHz mixing/playback * Correctly restore non-boost status (The diff to upstream is much smaller now too!) Change-Id: Iaa4ac901ba9cd4123bb225656976e78271353a72
2020-05-18mikmod: Use -Wno-stringop-truncation with GCC >=8Solomon Peachy1-0/+5
This will silence a false warning/error when -D_FORTIFY_SOURCE is used Change-Id: Ic75dbaaa1f419d63163c797d127e6d1928781fd2
2019-08-08Fix mikmod plugin build on armv4 targets (broke in 5b23c9e)Solomon Peachy1-1/+1
Change-Id: I1c79fbe44c13396388c533c4664b4ce1db150ac9
2019-08-08Introduce HW_SAMPR_MIN_GE_22 macroSolomon Peachy1-1/+22
Gives us the lowest HW sample rate that's >= 22KHz. Needed because some targets that don't support 22K support 11K or 8K, so HW_SAMPR_MIN will give us much lower quality than is acceptable. Take advantage of this new macro in the SDL, MIDI, and MIKMOD plugins, and implement a crude "fast enough" test to enable higher sample rates on more capable targets. Change-Id: I6ad38026fb3410c62da028e78512e027729bb851
2019-08-07Mikmod plugin improvementsSolomon Peachy2-33/+32
- Improved sound quality (use 44.1KHz) - Conventional mixer is now used - Playback is performed in a separate thread - Speech feedback in menus Patch by Igor Poretsky Change-Id: I13baa224cefd67aefe6d62b988971bfbd421757d
2017-02-04Fix dangerous castsAmaury Pouly1-1/+1
On Windows 64-bit, the size of long is 32-bit, thus any pointer to long cast is not valid. In any case, one should use intptr_t and ptrdiff_t when casting to integers. This commit attempts to fix all instances reported by GCC. When relevant, I replaced code by the macros PTR_ADD, ALIGN_UP from system.h Change-Id: I2273b0e8465d3c4689824717ed5afa5ed238a2dc
2014-12-22mikmod plugin: Remove bogus doubled return statementThomas Jarosch1-1/+0
Stick to the safer version of those two. Tested mikmod still works with some nice Necros .s3m files. Change-Id: I6774cdf3345a4c89b2f9cf3bb8d832963ca30c38
2014-12-20Prevent theoretical out-of-bounds access in STM_Load()Thomas Jarosch1-0/+2
We should be safe since STM_Load() should never be called if STM_Test() fails. Still it's better safe than sorry. cppcheck reported: [rockbox/apps/plugins/mikmod/load_stm.c:302]: (error) Array 'STM_Version[3]' accessed at index 3, which is out of bounds. Change-Id: I914935fd108c492d013de24d17dcb9c227af6cd8
2013-01-24Deprecate the EXTRA_LIBS variable.Björn Stenberg1-1/+1
Instead specify explicit library dependencies for codecs and plugins.
2012-04-14mikmod plugin: make functions static when possibleBertrik Sikken23-107/+107
Change-Id: Ic0102071318c55c19952029be6998ecf5f33eb98
2012-03-28tlsf: move to /lib (it's also used by plugins).Thomas Martitz1-1/+1
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
2012-03-26build system: unify/simplify library handling a bit.Thomas Martitz1-1/+1
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are automatically linked by the core and codecs/plugins respectively. Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-03Revise the PCM callback system after adding multichannel audio.Michael Sevakis1-5/+5
Additional status callback is added to pcm_play/rec_data instead of using a special function to set it. Status includes DMA error reporting to the status callback. Playback and recording callback become more alike except playback uses "const void **addr" (because the data should not be altered) and recording uses "void **addr". "const" is put in place throughout where appropriate. Most changes are fairly trivial. One that should be checked in particular because it isn't so much is telechips, if anyone cares to bother. PP5002 is not so trivial either but that tested as working. Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2 Reviewed-on: http://gerrit.rockbox.org/166 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2011-09-24FS#12273 - use buflib for font storage. thanks to the testers :)Jonathan Gordon1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-04mikmod: enable compiler optimizations for coldfire, they were disabled to ↵Nils Wallménius1-6/+1
work around a bug in the old toolchain. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30427 a1c6a512-1295-4272-9138-f99709370657
2011-09-03Remove several 'set but not used' GCC 4.6.1 warnings from MikMod.Andree Buschmann4-11/+9
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30426 a1c6a512-1295-4272-9138-f99709370657
2011-09-03Fix yellow and red.Andree Buschmann1-0/+8
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30425 a1c6a512-1295-4272-9138-f99709370657
2011-09-03FS#12259: Remove '-w' compiler option for MikMod. Resolve all yet unreported ↵Andree Buschmann27-58/+239
compiler warnings and fix a bug in load_gt2. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30424 a1c6a512-1295-4272-9138-f99709370657
2011-09-03Fix compiler warnings in mikmod. Initialize 'status' and 'incnt'.Andree Buschmann1-1/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30422 a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Enable compaction in buflib.Thomas Martitz1-1/+1
This enables the ability to allocate (and free) memory dynamically without fragmentation, through compaction. This means allocations can move and fragmentation be reduced. Most changes are preparing Rockbox for this, which many times means adding a move callback which can temporarily disable movement when the corresponding code is in a critical section. For now, the audio buffer allocation has a central role, because it's the one having allocated most. This buffer is able to shrink itself, for which it needs to stop playback for a very short moment. For this, audio_buffer_available() returns the size of the audio buffer which can possibly be used by other allocations because the audio buffer can shrink. lastfm scrobbling and timestretch can now be toggled at runtime without requiring a reboot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
2011-08-03Cleanup tree.c cache handling a bit.Thomas Martitz1-1/+1
* Rename stuff to not re-use the term dircache * Move cache to own struct * Encapsulate retrieving entries a bit git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30242 a1c6a512-1295-4272-9138-f99709370657
2011-02-14All kernel objects in code shared amongs targets (core, plugins, codecs) ↵Michael Sevakis1-1/+1
should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
2010-12-12Add MikMod plugin, ported by Jason Yu, with some minor work by Craig Mann ↵Frank Gevaerts43-0/+22295
and William Peters (FS#8806) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28810 a1c6a512-1295-4272-9138-f99709370657