summaryrefslogtreecommitdiff
path: root/apps/plugins/midi (follow)
Commit message (Collapse)AuthorAge
* MIDI: Increase percision of synthesizer by a factor of 4 - makes certain ↵Stepan Moskovchenko2007-11-17
| | | | | | | | | | 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
* Revert some changes that broke looping in midiplayerNils Wallménius2007-11-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15631 a1c6a512-1295-4272-9138-f99709370657
* Rearrange logic in the synthVoice loop to do less tests and remove need of a ↵Nils Wallménius2007-11-11
| | | | | | 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
* MIDI: Make seeking neater by moving it into another file. Will be more ↵Stepan Moskovchenko2007-11-05
| | | | | | useful later. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15467 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Improve seeking (especially near the end of the file) by disabling ↵Stepan Moskovchenko2007-11-03
| | | | | | | | | | playback during the seek. Next step is to prevent delta value calculation during seeking, and just recompute the current deltas once seeking is over. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15426 a1c6a512-1295-4272-9138-f99709370657
* Fix warnings.Stéphane Doyon2007-11-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15421 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Allow seeking forward and backward using the left/right keys. ↵Stepan Moskovchenko2007-11-03
| | | | | | | | | | | | | Currently seeks in 5 second increments, but this can be set to any amount. Also implemented a counter for playing time, which can pretty easily be used to determine the length of the file, in seconds, before playing it. The time isn't displayed anywhere right now, but all this can be useful if this thing is turned into a codec, or at least gets a nice UI. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15418 a1c6a512-1295-4272-9138-f99709370657
* enable jpeg, mpegplayer and midiplay on the mr500 (only jpeg is actually ↵Jonathan Gordon2007-10-25
| | | | | | | | | usable though, mpegplayer data aborts) fix the config which should have been done a few commits ago git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15296 a1c6a512-1295-4272-9138-f99709370657
* Fix vroken logic that _could_ lead to memory corruption though it was very ↵Nils Wallménius2007-10-23
| | | | | | unlikely git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15281 a1c6a512-1295-4272-9138-f99709370657
* Increase temp buffer size to fit more samples, put in simple safeguard to ↵Nils Wallménius2007-10-21
| | | | | | avoid memory corruption when writing to the temp buffer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15253 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Fix ringing/beeks in music caused by improper parsing of some pitch ↵Stepan Moskovchenko2007-10-21
| | | | | | bend events. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15252 a1c6a512-1295-4272-9138-f99709370657
* Clean out an unused struct member from the synthObject structNils Wallménius2007-10-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15189 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Scale each instrument by a calibration value, since not all patches ↵Stepan Moskovchenko2007-10-17
| | | | | | | | | | | are at the same base volume. This should make some files sound more natural, without some instruments overpowering others. Ultimately, these values need to be moved to the config file, and the table should probably be put in IRAM or something. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15161 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Optimize the new pitch bending code for a small speedup.Stepan Moskovchenko2007-10-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15160 a1c6a512-1295-4272-9138-f99709370657
* MIDI: At long last, though quick and dirty, pitch bend depth! Or, I think it ↵Stepan Moskovchenko2007-10-15
| | | | | | | | | | 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
* Change loop structure for sample synthesizing. Gives a nice speedup on both ↵Nils Wallménius2007-10-08
| | | | | | coldfire and arm targets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15036 a1c6a512-1295-4272-9138-f99709370657
* Get rid of unnecessary memory acesses in a loop, gives slight speedupNils Wallménius2007-10-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14996 a1c6a512-1295-4272-9138-f99709370657
* A loop with one iteration is a little strange, also put it inside an #if ↵Nils Wallménius2007-10-05
| | | | | | block to not rely on gcc otimizing it away git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14990 a1c6a512-1295-4272-9138-f99709370657
* Make synthVoice return int instead of short, gives a nice speed up also add ↵Nils Wallménius2007-10-05
| | | | | | a comment git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14988 a1c6a512-1295-4272-9138-f99709370657
* Increase output buffer size to 32kB, results in less buffer missing in ↵Nils Wallménius2007-10-04
| | | | | | 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
* Optimisation of the midi player, reducing the number of multiplications and ↵Nils Wallménius2007-10-04
| | | | | | 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
* Oops, forgot one fileNils Wallménius2007-10-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14979 a1c6a512-1295-4272-9138-f99709370657
* Remove wrapper for pressNote and make the function externally visibleNils Wallménius2007-10-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14978 a1c6a512-1295-4272-9138-f99709370657
* Put a struct in iram for a small speedup on coldfireNils Wallménius2007-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14973 a1c6a512-1295-4272-9138-f99709370657
* Add drum names, make cowbell a default instrument (no way to remap them from ↵Stepan Moskovchenko2007-10-03
| | | | | | | | | UI yet). Add non-static wrapper for pressnote (is there a better way?). Beatbox only tested on H300; compile at own risk. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14972 a1c6a512-1295-4272-9138-f99709370657
* Unroll a frequently executed loop a little for a small speedupNils Wallménius2007-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14924 a1c6a512-1295-4272-9138-f99709370657
* static/inline/iram raid gives nice speedupNils Wallménius2007-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14915 a1c6a512-1295-4272-9138-f99709370657
* Maybe 25 was too much with the new decay rates.Stepan Moskovchenko2007-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14911 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Kick up number of voices and decrease the decay rate, taking Stepan Moskovchenko2007-09-30
| | | | | | | | 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
* Fix bug that caused only half the output buffer to be used, gives a quite ↵Nils Wallménius2007-09-29
| | | | | | nice speedup on coldifre, clean up some commented out #ifdefs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14904 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Fix off by one error with the guitar. Wow, I can't believe the ↵Stepan Moskovchenko2007-09-29
| | | | | | off-keyness is finally fixed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14897 a1c6a512-1295-4272-9138-f99709370657
* MIDI: Fix two year old loop bug that caused distortion on some instruments. ↵Stepan Moskovchenko2007-09-29
| | | | | | | | | I been looking for this one for at least 6 months. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14896 a1c6a512-1295-4272-9138-f99709370657
* Do not duplicate const table, make getEvent function static inline, gives ↵Nils Wallménius2007-09-27
| | | | | | 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
* Simplify the sendEvent function, makes it _slightly_ faster and quite a bit ↵Nils Wallménius2007-09-27
| | | | | | 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
* Some MIDI changes, and add a new musical plugin I'm working on... Not fully ↵Stepan Moskovchenko2007-09-27
| | | | | | | | | | done yet, so commented out of SUBDIRS. (If people are against having half-baked plugins in SVN, please let me know and I will remove it). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14863 a1c6a512-1295-4272-9138-f99709370657
* Use uint32_t type for the pitch tableNils Wallménius2007-09-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14844 a1c6a512-1295-4272-9138-f99709370657
* Fix midi playback on 64 bit sims and const a tableNils Wallménius2007-09-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14842 a1c6a512-1295-4272-9138-f99709370657
* Move all of midiplay into its subdir and add a Makefile for it, add header ↵Nils Wallménius2007-09-24
| | | | | | files as necessary. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14841 a1c6a512-1295-4272-9138-f99709370657
* vel/MROBE500Karl Kurbjun2007-09-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14813 a1c6a512-1295-4272-9138-f99709370657
* Clean up hard-coded pathsNils Wallménius2007-09-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14662 a1c6a512-1295-4272-9138-f99709370657
* Missed a couple. Hopefully fix all warnings.Michael Sevakis2007-04-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13234 a1c6a512-1295-4272-9138-f99709370657
* General housekeeping: Make plugin buffer functions take size_t * instead of ↵Michael Sevakis2007-04-21
| | | | | | int * to match the parameter type of the buffer functions called in the core. Get rid of unsafe int * <==> size_t * casting. Use ssize_t where int was used and size_t where unsigned int was used in the buffer calls to not alter signedness in the plugins. No API version change since it should only be an issue for 64-bit sim builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13233 a1c6a512-1295-4272-9138-f99709370657
* Fix the undefined char symbols appearing in many output lines. This printf ↵Jens Arnold2007-04-21
| | | | | | does neither support nor need \n. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13229 a1c6a512-1295-4272-9138-f99709370657
* Some quick and dirty MIDI player optimizations, now it works on the X5 and ↵Linus Nielsen Feltzing2007-04-11
| | | | | | M5 too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13108 a1c6a512-1295-4272-9138-f99709370657
* Let GCC check arguments of some more printf-style functions, also for ↵Jens Arnold2007-03-17
| | | | | | plugins and codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12815 a1c6a512-1295-4272-9138-f99709370657
* Get rid of the 'center' parameter for splashes. There were only 2 of almost ↵Jens Arnold2007-03-16
| | | | | | 500 splashes which were not centered. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
* Fix a nasty little bug that would under the right conditions cause Stepan Moskovchenko2007-01-10
| | | | | | | memory corruption and other weirdness. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11978 a1c6a512-1295-4272-9138-f99709370657
* More ADSR related voodoo. Hopefully will get to patch prescaler soon.Stepan Moskovchenko2006-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11118 a1c6a512-1295-4272-9138-f99709370657
* More adsr related nonsense, argh! Fix adsr related problem on some notes ↵Stepan Moskovchenko2006-10-03
| | | | | | | | | being stopped instead of looped. Ramping code still not quite right, but dont want to lose this. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11117 a1c6a512-1295-4272-9138-f99709370657
* Get rid of old junk and fix warning.Stepan Moskovchenko2006-10-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11106 a1c6a512-1295-4272-9138-f99709370657