summaryrefslogtreecommitdiff
path: root/apps/plugins/midi/sequencer.c (follow)
Commit message (Collapse)AuthorAge
* midi plugin: make local functions static where possibleBertrik Sikken2012-02-18
| | | | Change-Id: I702755529f98015586b5b9592ced75cf7591880c
* plugins (doom, midi, rockboy): don't use non-static inlineRafaël Carré2010-09-07
| | | | | | | some functions can be static -> static inline some functions are external and can't be inlined -> remove inline git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28019 a1c6a512-1295-4272-9138-f99709370657
* Replace remaining printf in midi plugin (fix yellow/red)Michael Chicoine2010-07-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27563 a1c6a512-1295-4272-9138-f99709370657
* midi: yield more, fixes flickering backlight fade on some targets while ↵Nils Wallménius2009-03-28
| | | | | | 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
* loader-initialized global plugin API:Andrew Mahone2009-01-16
| | | | | | | | | | | | | | | | | 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
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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 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
* Optimize synth code by pre-computing the volume scaling for each note.Stepan Moskovchenko2006-05-03
| | | | | | | | | 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
* Fix file descriptor leak that would cause a hard lockup every 7 filesStepan Moskovchenko2006-05-03
| | | | | | | 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
* ----------------------------------------------------------------------Stepan Moskovchenko2006-05-01
| | | | | | | | | | | | 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
* Uncomment one line, which makes bad 80s music sound a bit better.Stepan Moskovchenko2005-08-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7291 a1c6a512-1295-4272-9138-f99709370657
* Fix error/warning, change pitch bend to 9 bitsStepan Moskovchenko2005-08-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7288 a1c6a512-1295-4272-9138-f99709370657
* Fixed warnings, adapted to Rockbox coding style, optimized to 78% realtime.Stepan Moskovchenko2005-04-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6329 a1c6a512-1295-4272-9138-f99709370657
* Some shifting optimizations. Working code. 50% realtime.Stepan Moskovchenko2005-04-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6323 a1c6a512-1295-4272-9138-f99709370657
* Code cleanup, fix warnings, error checking, add midi2wav to viewers.configStepan Moskovchenko2005-04-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6304 a1c6a512-1295-4272-9138-f99709370657
* Added MIDI synthesizer pluginStepan Moskovchenko2005-04-15
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6287 a1c6a512-1295-4272-9138-f99709370657