summaryrefslogtreecommitdiffstats
path: root/apps/plugins/midi/midiutil.c
AgeCommit message (Collapse)AuthorFilesLines
2019-08-05Midiplay plugin ehancementsSolomon Peachy1-17/+21
- Improved robustness - Improved sound quality - Use mixer and DSP Patch by Igor Poretsky Change-Id: I6fa617158cbaa53ae842295cdbdbe3a478e49ded
2012-02-18midi plugin: make local functions static where possibleBertrik Sikken1-1/+1
Change-Id: I702755529f98015586b5b9592ced75cf7591880c
2011-09-06midi: make the patch sample data pointer a *int16_t to get rid of some ugly ↵Nils Wallménius1-2/+2
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-05-08Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0.Andree Buschmann1-2/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29841 a1c6a512-1295-4272-9138-f99709370657
2010-12-13Make the midiplugin's out of memory error more obvious to people who don't ↵Michael Giacomelli1-2/+1
know what malloc is. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28822 a1c6a512-1295-4272-9138-f99709370657
2010-07-25Rename printf to prevent naming conflict. Also change comment to conform ↵Michael Chicoine1-9/+9
with Rockbox standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27562 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Fix (hopefully) last aliasing bug (midiutil), and enable ↵Frank Gevaerts1-3/+3
-fno-strict-aliasing again for zxbox and doom (no easy fix there) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25889 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-5/+0
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
2009-01-16loader-initialized global plugin API:Andrew Mahone1-2/+0
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by __header.api the loader uses this pointer to initialize rb before calling entry_point entry_point is no longer passed a pointer to the plugin API all plugins, and pluginlib functions, are modified to refer to the global rb pluginlib functions which only served to copy the API pointer are removed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg1-2/+4
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-01-02MIDI player: Allow pause and seeking during pause. Print out the ↵Stepan Moskovchenko1-19/+26
play/pause/seek position in seconds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15985 a1c6a512-1295-4272-9138-f99709370657
2007-10-21MIDI: Fix ringing/beeks in music caused by improper parsing of some pitch ↵Stepan Moskovchenko1-1/+2
bend events. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15252 a1c6a512-1295-4272-9138-f99709370657
2007-10-17MIDI: Optimize the new pitch bending code for a small speedup.Stepan Moskovchenko1-1/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15160 a1c6a512-1295-4272-9138-f99709370657
2007-10-15MIDI: At long last, though quick and dirty, pitch bend depth! Or, I think it ↵Stepan Moskovchenko1-0/+1
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-04Optimisation of the midi player, reducing the number of multiplications and ↵Nils Wallménius1-2/+1
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-09-24Move all of midiplay into its subdir and add a Makefile for it, add header ↵Nils Wallménius1-114/+4
files as necessary. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14841 a1c6a512-1295-4272-9138-f99709370657
2007-04-21Missed a couple. Hopefully fix all warnings.Michael Sevakis1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13234 a1c6a512-1295-4272-9138-f99709370657
2007-04-21General housekeeping: Make plugin buffer functions take size_t * instead of ↵Michael Sevakis1-2/+2
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-21Fix the undefined char symbols appearing in many output lines. This printf ↵Jens Arnold1-7/+7
does neither support nor need \n. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13229 a1c6a512-1295-4272-9138-f99709370657
2006-10-03More adsr related nonsense, argh! Fix adsr related problem on some notes ↵Stepan Moskovchenko1-1/+1
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-05-08Fixed freezing after loader error messages.Stepan Moskovchenko1-0/+2
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-03Optimize synth code by pre-computing the volume scaling for each note.Stepan Moskovchenko1-0/+1
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-03Fix file descriptor leak that would cause a hard lockup every 7 filesStepan Moskovchenko1-1/+11
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-01----------------------------------------------------------------------Stepan Moskovchenko1-13/+35
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
2005-04-20Fixed warnings, adapted to Rockbox coding style, optimized to 78% realtime.Stepan Moskovchenko1-117/+105
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6329 a1c6a512-1295-4272-9138-f99709370657
2005-04-19Some shifting optimizations. Working code. 50% realtime.Stepan Moskovchenko1-76/+56
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6323 a1c6a512-1295-4272-9138-f99709370657
2005-04-15Code cleanup, fix warnings, error checking, add midi2wav to viewers.configStepan Moskovchenko1-19/+23
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6304 a1c6a512-1295-4272-9138-f99709370657
2005-04-15Added MIDI synthesizer pluginStepan Moskovchenko1-0/+262
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6287 a1c6a512-1295-4272-9138-f99709370657