Solomon Peachy
5b23c9eb0a
Introduce HW_SAMPR_MIN_GE_22 macro
...
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-08 22:37:30 +02:00
Solomon Peachy
ed724fecb1
Midiplay plugin ehancements
...
- Improved robustness
- Improved sound quality
- Use mixer and DSP
Patch by Igor Poretsky
Change-Id: I6fa617158cbaa53ae842295cdbdbe3a478e49ded
2019-08-05 20:48:40 +02:00
Nils Wallménius
2afc175a4e
midi: make the patch sample data pointer a *int16_t to get rid of some ugly casting and drop an acessor macro to make caching the pointer in the synthVoice loop possible. Speeds up midi by 1-2% on cf and 3-5% on PP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30438 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 10:34:20 +00:00
Michael Chicoine
91a45d2ecc
Rename printf to prevent naming conflict. Also change comment to conform with Rockbox standards.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27562 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 19:35:19 +00:00
Thomas Martitz
35e8b1429a
Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
...
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.
Should be no functional change to targets or the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Thomas Martitz
50a6ca39ad
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
...
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Andree Buschmann
dfe46436b1
Remove tabs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24547 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 17:50:24 +00:00
Nils Wallménius
1adc869d9c
midi: yield more, fixes flickering backlight fade on some targets while playing midi. Some coding style clean up, it's a little better but still a mess
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20562 a1c6a512-1295-4272-9138-f99709370657
2009-03-28 11:27:56 +00:00
Nils Wallménius
4c43f7be0a
Rearrange the main synth loop a little and move some tests around for a ~5% speedup on c200, increase the output buffer size to make skips less likely, playback of simple midi files should now be mostly skip free on pp based players
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19207 a1c6a512-1295-4272-9138-f99709370657
2008-11-24 21:32:08 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Stepan Moskovchenko
7f1fbe4af2
MIDI: Increase percision of synthesizer by a factor of 4 - makes certain parts (guitar bends, mostly)
...
sound more natural. Also, completely rearrange the order of operations in the delta computation. Had to
use long longs. Probably not a good idea for speed, but the order can be optimized more later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15652 a1c6a512-1295-4272-9138-f99709370657
2007-11-17 06:39:02 +00:00
Nils Wallménius
65331f1749
Revert some changes that broke looping in midiplayer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15631 a1c6a512-1295-4272-9138-f99709370657
2007-11-15 21:20:29 +00:00
Nils Wallménius
0fd4c2e455
Rearrange logic in the synthVoice loop to do less tests and remove need of a struct member for a small speedup, move some memory lookups out of the loop for a small speedup, further cosmetic changes to the synthVoice function. Change isUsed to a bool for clearer logic and also a tiny speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15563 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 01:02:45 +00:00
Stepan Moskovchenko
47d8323deb
MIDI: Fix ringing/beeks in music caused by improper parsing of some pitch bend events.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15252 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 19:47:33 +00:00
Nils Wallménius
ab5a38db92
Clean out an unused struct member from the synthObject struct
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15189 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 13:43:13 +00:00
Stepan Moskovchenko
d33645ba13
MIDI: Optimize the new pitch bending code for a small speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15160 a1c6a512-1295-4272-9138-f99709370657
2007-10-17 03:48:24 +00:00
Stepan Moskovchenko
1515ff8522
MIDI: At long last, though quick and dirty, pitch bend depth! Or, I think it works. Tested on two
...
files. Let me know if anyone discovers any problems with this. This commit also includes Nils's synth
loop optimization patch. I hope committing it does not cause problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15112 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 05:11:37 +00:00
Nils Wallménius
ca46a3d095
Increase output buffer size to 32kB, results in less buffer missing in general and avoids buffer misses when lcd remote is plugged in while playing and ticking reduction is enabled. Increase max voices used on coldfire targets to 24 and reduce voices used on pp targets to 16. Put one more struct in iram for a slight speedup on coldfire. Fix comments in midiutil.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14984 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 21:01:40 +00:00
Nils Wallménius
e1940b87b0
Optimisation of the midi player, reducing the number of multiplications and memory accesses inside a very frequently executed loop, also does shifting of the whole sample when synthing is done which improves accurracy slightly, ~10% fewer buffer misses
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14983 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 19:36:42 +00:00
Nils Wallménius
6386dbe861
static/inline/iram raid gives nice speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14915 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 11:21:25 +00:00
Stepan Moskovchenko
1ed54f4302
Maybe 25 was too much with the new decay rates.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14911 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 09:04:39 +00:00
Stepan Moskovchenko
414724e2f4
MIDI: Kick up number of voices and decrease the decay rate, taking
...
advantage of the recent speedups. Some instruments sound a lot more
natural now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14910 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 09:01:38 +00:00
Nils Wallménius
6888db3240
Do not duplicate const table, make getEvent function static inline, gives about a ~1.5% speedup, put tick function in iram, ~3.5% speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14873 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 20:17:38 +00:00
Nils Wallménius
93787dd42c
Simplify the sendEvent function, makes it _slightly_ faster and quite a bit smaller, build midiplay with -O2 for coldfire, gives about a 23% speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14872 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 18:29:50 +00:00
Nils Wallménius
0e49605aaa
Move all of midiplay into its subdir and add a Makefile for it, add header files as necessary.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14841 a1c6a512-1295-4272-9138-f99709370657
2007-09-24 15:57:32 +00:00