aboutsummaryrefslogtreecommitdiffstats
path: root/src/volume.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-11-12include config.h in all sourcesMax Kellermann1-1/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-21volume: added PIPE_EVENT_MIXERMax Kellermann1-0/+16
Flush the hardware volume cache, and send the MIXER idle event. This allows mixer plugins to detect volume changes.
2009-10-08state_file: save only if something has changedMax Kellermann1-0/+6
If nothing has changed since the last save, don't save the state file. Saving will spin up the hard drive, which is undesirable on hosts where MPD is idling in background.
2009-07-15state_file: don't rewind the stream while reading the state fileMax Kellermann1-14/+12
Parse the state file line by line, let each subsystem probe a line. Only the playlist_state code gets the FILE pointer to read the following lines.
2009-07-06output: use the software mixer pluginMax Kellermann1-71/+8
Do all the software volume stuff inside each output thread, not in the player thread. This allows one software mixer per output device, and also allows the user to configure the mixer type (hardware or software) for each audio output. This moves the global "mixer_type" setting into the "audio_output" section, deprecating the "mixer_enabled" flag.
2009-07-06volume: moved range check to handle_setvol()Max Kellermann1-10/+9
Converted the range checks in volume_level_change() to assertions. Changed all volume types to "unsigned", expect for those which must be able to indicate error (-1).
2009-07-06volume, mixer: removed the "relative" parameterMax Kellermann1-25/+19
Since the "volume" command has been removed, nobody uses relative volumes anymore.
2009-07-06mixer_type: moved volume_mixer_type from volume.cMax Kellermann1-21/+22
2009-06-25volume: removed support for legacy mixer configurationMax Kellermann1-85/+2
The top-level "mixer_device" and "mixer_control" options have been deprecated by MPD 0.15, and it's safe to remove them in MPD 0.16.
2009-06-03conf: eliminated CamelCaseMax Kellermann1-5/+5
Renamed all remaining CamelCase functions.
2009-05-28volume: changed "default" to "DISABLED" in switch statementMax Kellermann1-1/+4
Make gcc warn us if we add a new mixer type, and forget to add a new "case" line.
2009-05-28volume: converted volume_mixer_type to an enumMax Kellermann1-5/+6
Don't use CPP macros when you can use C enums.
2009-05-28volume: removed unused macro "VOLUME_MIXER_SOFTWARE_DEFAULT"Max Kellermann1-1/+0
2009-03-14mixer_api: moved functions to mixer_control.cMax Kellermann1-1/+1
mixer_control.h should provide the functions needed to manipulate a mixer, without exposing the internal mixer API (which is provided by mixer_api.h).
2009-03-14volume: moved code to mixer_all.cMax Kellermann1-30/+5
2009-03-14volume: use bool instead of intMax Kellermann1-6/+6
Return true/false on success/failure, instead of 0/-1. Pass true/false instead of 1/0 for the "rel" boolean parameter.
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-03-12audio: moved mixer functions to mixer_control.cMax Kellermann1-1/+1
2009-03-12volume: removed unused variable "default_mixer"Max Kellermann1-1/+0
2009-03-02mixer: adding code to optionally disable all hw mixersViliam Mateicka1-0/+3
2009-02-28volume: throttle access to hardware mixersMax Kellermann1-1/+24
On some hardware, reading the mixer value from hardware is an expensive operation, and MPD has to do it for every client. Throttle access to the hardware, cache the result for one second.
2009-02-26mixer: Add "disabled" mixer_type.Avuton Olrich1-0/+3
2009-02-10audio: moved code to output_all.cMax Kellermann1-0/+1
Moved code which deals with all audio outputs at once into a separate library.
2009-01-25mixer: configure legacy mixer before the audio outputsMax Kellermann1-21/+69
Reimplemented the legacy mixer configuration: copy the deprecated configuration values into the audio_output section. Don't configure the mixers twice (once for the audio_output, and a second time for the legacy values). This requires volume_init() to be called before initAudioDriver().
2009-01-25conf: const pointers in block get functionsMax Kellermann1-1/+1
All config_get_block_*() functions should accept constant config_param pointers.
2009-01-17conf: no CamelCase, part IMax Kellermann1-5/+5
Renamed functions, types, variables.
2009-01-11removing mixer_reconfigure memmory leak, fixing configure of alsa and oss ↵Viliam Mateicka1-0/+2
mixer (passing parameters)
2009-01-07pcm_utils: moved code to pcm_volume.cMax Kellermann1-1/+1
Moved the software volume code to a separate library.
2009-01-03don't include utils.h when it isn't usedMax Kellermann1-2/+3
2009-01-01mixer: renamed mix_* options to mixer_*Max Kellermann1-2/+2
There is no reason to use the shortcut "mix" instead of "mixer".
2008-12-31Moving mixers to audio outputsViliam Mateicka1-419/+89
2008-12-29volume: use GLib loggingMax Kellermann1-26/+29
2008-12-29removed os_compat.hMax Kellermann1-4/+6
Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
2008-12-28utils: removed myFgets()Max Kellermann1-1/+3
Replaced myFgets() with fgets() + g_strchomp().
2008-12-02replaced mpd_likely/mpd_unlikely by G_LIKELY/G_UNLIKELYThomas Jansen1-1/+1
We want to remove gcc.h eventually. This takes care of all the G_LIKELY/G_UNLIKELY macros.
2008-11-14volume: eliminate alloca() usageMax Kellermann1-11/+4
alloca() is not a portable function. Don't use it. Using strncasecmp() is much more efficient anyway, because no memory needs to be allocated and copied.
2008-11-14volume: moved code to oss_mixer_find()Max Kellermann1-14/+23
2008-11-11pcm_volume: added constant PCM_VOLUME_1Max Kellermann1-1/+1
It may be desirable to change the range of integer volume levels (e.g. to 1024, which may utilize shifts instead of expensive integer divisions). Introduce the constant PCM_VOLUME_1 which describes the integer value for "100% volume". This is currently 1000.
2008-11-11pcm_utils: added inline function pcm_float_to_volume()Max Kellermann1-2/+3
2008-10-28utils: use g_str_has_prefix() instead of prefixcmp()Max Kellermann1-1/+3
Remove duplicated code from MPD.
2008-10-14command: added command "idle"Max Kellermann1-0/+3
"idle" waits until something noteworthy happens on the server, e.g. song change, playlist modified, database updated. This allows clients to keep up to date without polling.
2008-09-23start using prefixcmp()Eric Wong1-8/+4
LOC reduction and less noise makes things easier for tired old folks to follow.
2008-09-23volume: oops, only #include <alloca.h> if OSS is enabledEric Wong1-1/+0
2008-09-23oss: avoid heap allocations when configuring mixerEric Wong1-13/+13
Noticed-by: Courtney Cavin
2008-09-07volume: don't pass "fd" to changeVolumeLevel()Max Kellermann1-17/+9
The "volume" library shouldn't talk to the client. Move error handling to command.c.
2008-08-26renamed player.c to player_control.cMax Kellermann1-1/+1
Give player.c a better name, meaning that the code is used to control the player thread.
2008-08-26enable -Wpointer-arith, -Wstrict-prototypesMax Kellermann1-1/+1
Also enable -Wunused-parameter - this forces us to add the gcc "unused" attribute to a lot of parameters (mostly library callback functions), but it's worth it during code refactorizations.
2008-04-12clean up CPP includesMax Kellermann1-1/+3
Try to only include headers which are really needed. We should particularly check all "headers including other headers". The long-term goal is to have a manageable, small API for plugins (decoders, output) without so many mpd internals cluttering the namespace. git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-03-26fix "unreachable code" warningMax Kellermann1-1/+0
There is unreachable code at several positions, e.g. after an #if/#end, or after an endless loop. Remove that. git-svn-id: https://svn.musicpd.org/mpd/trunk@7197 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-02-05fix -Wconst warningsMax Kellermann1-6/+6
[ew: cleaned up the dirty union hack a bit] Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7180 09075e82-0dd4-0310-85a5-a0d7c8717e4f