Marianne Arnold
9956c25540
Midiplay: more consistent button mapping on c200 - use the volume buttons to adjust volume (BTN_UP/DOWN), making it possible to use the 'Play' button for play/pause.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16077 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 14:52:31 +00:00
Jonathan Gordon
81ba146706
Accept FS#8341 - rename BUTTON_SCROLL_UP/DOWN to FWD/BACK on the e200 to make it consistant with the ipods. apart from removing a bit of confusion, it fixes the wheel in pictureflow and possibly elsewhere.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16045 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 08:08:31 +00:00
Jens Arnold
d3586837fa
Stop wasting binary size + ram for several plugins. Plugins are supposed to be linked with --gc-sections, in case they use plugin library elements.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15997 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 21:07:05 +00:00
Stepan Moskovchenko
21abf6579f
Oops, fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15988 a1c6a512-1295-4272-9138-f99709370657
2008-01-02 07:44:03 +00:00
Stepan Moskovchenko
111049105b
MIDI player: print out track names, copyright info, song names, etc during load time. This includes
...
lyrics... maybe we should print those while the song is playing?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15987 a1c6a512-1295-4272-9138-f99709370657
2008-01-02 07:09:17 +00:00
Stepan Moskovchenko
0f8c77b306
MIDI player: fix a very unlikely (but possible) file descriptor leak.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15986 a1c6a512-1295-4272-9138-f99709370657
2008-01-02 06:40:15 +00:00
Stepan Moskovchenko
59acdc336b
MIDI player: Allow pause and seeking during pause. Print out the play/pause/seek position in seconds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15985 a1c6a512-1295-4272-9138-f99709370657
2008-01-02 06:35:59 +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
bdfe87c0f1
MIDI: Make seeking neater by moving it into another file. Will be more useful later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15467 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 05:35:10 +00:00
Stepan Moskovchenko
3be1ca0281
MIDI: Improve seeking (especially near the end of the file) by disabling 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
2007-11-03 06:31:33 +00:00
Stéphane Doyon
775279b63e
Fix warnings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15421 a1c6a512-1295-4272-9138-f99709370657
2007-11-03 04:59:24 +00:00
Stepan Moskovchenko
cd963d84ca
MIDI: Allow seeking forward and backward using the left/right keys. 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
2007-11-03 04:09:38 +00:00
Jonathan Gordon
a256878e77
enable jpeg, mpegplayer and midiplay on the mr500 (only jpeg is actually 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
2007-10-25 07:44:56 +00:00
Nils Wallménius
a3117328e9
Fix vroken logic that _could_ lead to memory corruption though it was very unlikely
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15281 a1c6a512-1295-4272-9138-f99709370657
2007-10-23 15:00:45 +00:00
Nils Wallménius
2d91cf3ea3
Increase temp buffer size to fit more samples, put in simple safeguard to avoid memory corruption when writing to the temp buffer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15253 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 22:50:10 +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
c3584c0d63
MIDI: Scale each instrument by a calibration value, since not all patches 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
2007-10-17 05:06:57 +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
f619f81676
Change loop structure for sample synthesizing. Gives a nice speedup on both coldfire and arm targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15036 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 19:28:41 +00:00
Nils Wallménius
1d7912955b
Get rid of unnecessary memory acesses in a loop, gives slight speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14996 a1c6a512-1295-4272-9138-f99709370657
2007-10-05 21:03:56 +00:00
Nils Wallménius
5118f48d73
A loop with one iteration is a little strange, also put it inside an #if block to not rely on gcc otimizing it away
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14990 a1c6a512-1295-4272-9138-f99709370657
2007-10-05 12:22:58 +00:00
Nils Wallménius
8219f2801a
Make synthVoice return int instead of short, gives a nice speed up also add a comment
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14988 a1c6a512-1295-4272-9138-f99709370657
2007-10-05 11:15:04 +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
84fcf967e4
Oops, forgot one file
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14979 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 10:32:28 +00:00
Nils Wallménius
cb9ba11de6
Remove wrapper for pressNote and make the function externally visible
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14978 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 10:30:01 +00:00
Nils Wallménius
4ebe69293c
Put a struct in iram for a small speedup on coldfire
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14973 a1c6a512-1295-4272-9138-f99709370657
2007-10-03 20:38:04 +00:00
Stepan Moskovchenko
1ba018bb01
Add drum names, make cowbell a default instrument (no way to remap them from 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
2007-10-03 17:42:16 +00:00
Nils Wallménius
f9664e7e87
Unroll a frequently executed loop a little for a small speedup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14924 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 19:22:57 +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
c6c7b73a15
Fix bug that caused only half the output buffer to be used, gives a quite 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
2007-09-29 16:06:16 +00:00
Stepan Moskovchenko
aaf3e3269c
MIDI: Fix off by one error with the guitar. Wow, I can't believe the off-keyness is finally fixed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14897 a1c6a512-1295-4272-9138-f99709370657
2007-09-29 03:07:31 +00:00
Stepan Moskovchenko
d1e306077f
MIDI: Fix two year old loop bug that caused distortion on some instruments. 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
2007-09-29 02:20:49 +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
Stepan Moskovchenko
8b6d28790e
Some MIDI changes, and add a new musical plugin I'm working on... Not fully 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
2007-09-27 03:59:33 +00:00
Nils Wallménius
ddee0f16d3
Use uint32_t type for the pitch table
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14844 a1c6a512-1295-4272-9138-f99709370657
2007-09-24 21:13:20 +00:00
Nils Wallménius
ff7b3c5e4e
Fix midi playback on 64 bit sims and const a table
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14842 a1c6a512-1295-4272-9138-f99709370657
2007-09-24 16:47:34 +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
Karl Kurbjun
e571cfb070
vel/MROBE500
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14813 a1c6a512-1295-4272-9138-f99709370657
2007-09-22 04:55:44 +00:00
Nils Wallménius
04b3435afd
Clean up hard-coded paths
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14662 a1c6a512-1295-4272-9138-f99709370657
2007-09-10 09:46:36 +00:00
Michael Sevakis
8676dc25f5
Missed a couple. Hopefully fix all warnings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13234 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 19:07:15 +00:00
Michael Sevakis
26d242ae65
General housekeeping: Make plugin buffer functions take size_t * instead of 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
2007-04-21 18:38:25 +00:00
Jens Arnold
b1f0049307
Fix the undefined char symbols appearing in many output lines. This printf does neither support nor need \n.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13229 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 05:35:17 +00:00