Commit graph

135 commits

Author SHA1 Message Date
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
Linus Nielsen Feltzing
7c4b786851 Some quick and dirty MIDI player optimizations, now it works on the X5 and M5 too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13108 a1c6a512-1295-4272-9138-f99709370657
2007-04-11 10:48:50 +00:00
Jens Arnold
79c8a8cbbe Let GCC check arguments of some more printf-style functions, also for plugins and codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12815 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 09:02:53 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Stepan Moskovchenko
65ef67e0f1 Fix a nasty little bug that would under the right conditions cause
memory corruption and other weirdness.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11978 a1c6a512-1295-4272-9138-f99709370657
2007-01-10 17:53:54 +00:00
Stepan Moskovchenko
94d9d152b6 More ADSR related voodoo. Hopefully will get to patch prescaler soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11118 a1c6a512-1295-4272-9138-f99709370657
2006-10-03 23:27:44 +00:00
Stepan Moskovchenko
c84461fb8f More adsr related nonsense, argh! Fix adsr related problem on some notes 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
2006-10-03 21:09:47 +00:00
Stepan Moskovchenko
ba0d55510f Get rid of old junk and fix warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11106 a1c6a512-1295-4272-9138-f99709370657
2006-10-02 04:30:19 +00:00
Stepan Moskovchenko
80b4882922 I have an iRiver again, yay! Make notes ramp down in a better way. Fix
note-off pop/click due to waveform index out of bounds access.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11105 a1c6a512-1295-4272-9138-f99709370657
2006-10-02 04:13:33 +00:00
Antoine Cellerier
13be687920 == -> =. this should fix a build warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10518 a1c6a512-1295-4272-9138-f99709370657
2006-08-10 21:25:21 +00:00
Antoine Cellerier
f28c35effc Fix typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10269 a1c6a512-1295-4272-9138-f99709370657
2006-07-20 22:31:59 +00:00
Stepan Moskovchenko
b9b2bcd9b9 Fixed freezing after loader error messages.
Added RMID (Windows MIDI) header support. Added .RMI extension to
viewers.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9888 a1c6a512-1295-4272-9138-f99709370657
2006-05-08 02:43:29 +00:00
Stepan Moskovchenko
68af7bae87 Added ability to adjust the volume during playback.
Gracefully fail if no soundset installed.
Yet more messing with the ramping code. I swear, that will be the end of
me.
Basic skipping support- skip foreward a bit if Right is pressed.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9883 a1c6a512-1295-4272-9138-f99709370657
2006-05-07 07:12:07 +00:00
Stepan Moskovchenko
28b5afd05a Optimize synth code by pre-computing the volume scaling for each note.
Scaling is now calculated once per MIDI event at the most, instead of
once per sample. Increase voice ramping speed, increase number of
active voices a little.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9870 a1c6a512-1295-4272-9138-f99709370657
2006-05-03 19:32:22 +00:00
Stepan Moskovchenko
47efba8bbf Fix file descriptor leak that would cause a hard lockup every 7 files
played. A few other cosmetic changes. please, please no red build =)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9865 a1c6a512-1295-4272-9138-f99709370657
2006-05-03 05:18:18 +00:00
Stepan Moskovchenko
b2f1b5dd18 ----------------------------------------------------------------------
Added Karl Kurbjun's sound output patch, cleaned up some output.
Main file is now midiplay.c, midi2wav is still in there for anyone who
wants it. Set sampling rate to 22k, and increased note decay time.
Reduced number of concurrent active voices and made new notes replace
used voices if none are available. This makes lag less apparent.
I really hope this wont go red. (turns around and runs)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9858 a1c6a512-1295-4272-9138-f99709370657
2006-05-01 23:22:59 +00:00
Dave Chapman
9e19c95d8e Replace SWAB16 and SWAB32 with a comprehensive set of byte-swap macros - letoh16, letoh32, htole16, htole32, betoh16, betoh32, htobe16 and htobe32
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7584 a1c6a512-1295-4272-9138-f99709370657
2005-10-06 19:27:43 +00:00
Stepan Moskovchenko
1874a33298 Uncomment one line, which makes bad 80s music sound a bit better.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7291 a1c6a512-1295-4272-9138-f99709370657
2005-08-07 23:39:23 +00:00
Stepan Moskovchenko
fb3e9a4073 Fix error/warning, change pitch bend to 9 bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7288 a1c6a512-1295-4272-9138-f99709370657
2005-08-07 22:20:40 +00:00
Tomas Salfischberger
2ed84ec2ca The synthVoice() function declaration was wrong (caused a warning). And because of that GCC didn't notice the error on line 390: synthVoice(currentVoice).
In revision 1.4 Steven made currentVoice global, so the function declaration should be: synthVoice(void), wich fixes a warning. And the call should be just synthVoice() wich fixes a hidden error.

Hope I saw this right... please correct me if this isn't the way you ment is Seven.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6708 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 16:17:11 +00:00
Stepan Moskovchenko
9ec1ff8cf5 Fixed warnings, adapted to Rockbox coding style, optimized to 78% realtime.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6329 a1c6a512-1295-4272-9138-f99709370657
2005-04-20 21:07:13 +00:00
Stepan Moskovchenko
1f5fb99819 Some shifting optimizations. Working code. 50% realtime.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6323 a1c6a512-1295-4272-9138-f99709370657
2005-04-19 15:57:07 +00:00
Stepan Moskovchenko
4b773c0c4c Added xxx2wav support, an icon, and some optimizations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6306 a1c6a512-1295-4272-9138-f99709370657
2005-04-16 03:35:20 +00:00
Daniel Stenberg
cdd35ba220 fix compiler error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6305 a1c6a512-1295-4272-9138-f99709370657
2005-04-15 21:17:01 +00:00
Stepan Moskovchenko
5811214b0c Code cleanup, fix warnings, error checking, add midi2wav to viewers.config
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6304 a1c6a512-1295-4272-9138-f99709370657
2005-04-15 20:27:04 +00:00
Stepan Moskovchenko
215e492a12 Added MIDI synthesizer plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6287 a1c6a512-1295-4272-9138-f99709370657
2005-04-15 06:08:55 +00:00