rockbox/apps/plugins/sdl/SDL_mixer/timidity
Aidan MacDonald 5b27e2255a Add perceptual volume adjustment
The perceived loudness change of a change in volume depends
on the listening volume: at high volumes a 1 dB increment is
noticeable, but at low volumes a larger increment is needed
to get a comparable change in loudness.

Perceptual volume adjustment accounts for this fact, and
divides the hardware volume range into a number of steps.
Each step changes the dB volume by a variable amount, with
most of the steps concentrated at higher volumes. This
makes it possible to sweep over the entire hardware volume
range quickly, without losing the ability to finely adjust
the volume at normal listening levels.

Use "Volume Adjustment Mode" in the system settings menu
to select perceptual volume mode. The number of steps used
is controlled by "Number of Volume Steps". (Number of steps
has no effect in direct adjustment mode.)

It's still possible to set a specific dB volume level from
the sound settings menu when perceptual volume is enabled,
and perceptual volume does not affect the volume displayed
by themes.

Change-Id: I6f91fd3f7c5e2d323a914e47b5653033e92b4b3b
2023-01-22 21:19:57 +00:00
..
common.c
common.h
config.h
COPYING
ctrlmode.c
ctrlmode.h
FAQ
filter.c
filter.h
instrum.c
instrum.h
mix.c
mix.h
output.c
output.h
playmidi.c Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
playmidi.h
README
readmidi.c
readmidi.h
resample.c
resample.h
sdl_a.c
sdl_c.c
tables.c
tables.h
timidity.c
timidity.h

[This version of timidity has been stripped for simplicity in porting to SDL]
---------------------------------*-text-*---------------------------------

        From http://www.cgs.fi/~tt/discontinued.html :

        If you'd like to continue hacking on TiMidity, feel free. I'm
        hereby extending the TiMidity license agreement: you can now 
        select the most convenient license for your needs from (1) the
        GNU GPL, (2) the GNU LGPL, or (3) the Perl Artistic License.  

--------------------------------------------------------------------------

        This is the README file for TiMidity v0.2i

	TiMidity is a MIDI to WAVE converter that uses Gravis
Ultrasound(*)-compatible patch files to generate digital audio data
from General MIDI files. The audio data can be played through any
sound device or stored on disk. On a fast machine, music can be
played in real time. TiMidity runs under Linux, FreeBSD, HP-UX, SunOS, and
Win32, and porting to other systems with gcc should be easy.

	TiMidity Features:

	* 32 or more dynamically allocated fully independent voices
	* Compatibility with GUS patch files
	* Output to 16- or 8-bit PCM or uLaw audio device, file, or
          stdout at any sampling rate
	* Optional interactive mode with real-time status display
	  under ncurses and SLang terminal control libraries. Also
          a user friendly motif interface since version 0.2h
	* Support for transparent loading of compressed MIDI files and
	  patch files

	* Support for the following MIDI events:
	  - Program change
	  - Key pressure
	  - Channel main volume
	  - Tempo
	  - Panning
	  - Damper pedal (Sustain)
	  - Pitch wheel
	  - Pitch wheel sensitivity
	  - Change drum set

* TiMidity requires sampled instruments (patches) to play MIDI files. You
  should get the file "timidity-lib-0.1.tar.gz" and unpack it in the same
  directory where you unpacked the source code archive. You'll want more
  patches later -- read the file "FAQ" for pointers.

* Timidity is no longer supported, but can be found by searching the web.


                        Tuukka Toivonen <toivonen@clinet.fi>

[(*) Any Registered Trademarks used anywhere in the documentation or
source code for TiMidity are acknowledged as belonging to their
respective owners.]