| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
| |
Allocate the mixer object when it is configured.
Merged mixer_configure() into mixer_new(). mixer_new() was quite
useless anyway.
|
|
|
|
| |
Don't use statically allocated mixer objects.
|
|
|
|
| |
The plugin structures must never be modified.
|
| |
|
|
|
|
|
| |
The function config_add_param() allows adding new configuration
parameters.
|
| |
|
|
|
|
|
|
|
|
| |
Return the default value in the conf_get_block_*() functions when
param==NULL was passed.
This simplifies a lot of code, because all initialization can be done
in one code path, regardless whether configuration is present.
|
|
|
|
|
| |
All config_get_block_*() functions should accept constant config_param
pointers.
|
|
|
|
|
| |
config_get_string() is easier to use than config_get_param() because
it unpacks the config_param struct.
|
| |
|
| |
|
|
|
|
| |
Both are unused.
|
|
|
|
|
| |
This function shuffles the last song of a range. This is used by
addSongToPlaylist().
|
|
|
|
|
| |
Don't declare and export variables specific to stored playlists in
playlist.c/playlist.h.
|
|
|
|
|
| |
Start the decoder thread when the player thread starts. The decoder
thread is already stopped by the player thread.
|
|
|
|
|
| |
player_control.thread contains the handle of the player thread, or
NULL if the player thread isn't running.
|
|
|
|
|
| |
decoder_control.thread contains the handle of the decoder thread, or
NULL if the decoder thread isn't running.
|
|
|
|
|
| |
Some code will be a little bit simpler if the dot is part of the
string literal.
|
|
|
|
| |
Document alsa_data members.
|
|
|
|
| |
frame_size is a memory size and should be a size_t, not a signed integer.
|
|
|
|
| |
Renamed types, functions, variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two bugs here led to a large number of interrupts being generated on the
sound card when ALSA output is being used. Because we specify no default
period_time, the sound card gives us 3000 interrupts/sec rather than a more
sane 20 or 30. This completes the revert of dd7711 already started by
4ca24f.
The larger bug was in the change to config_get_block_unsigned() and using 0
as the default value for both 'buffer_time' and 'period_time'. This means
any pre-setting of these options in newAlsaData() gets wiped out. Add a new
default for period_time, and ensure default values for buffer_time and
period_time are used if none are provided by the user.
Signed-off-by: Dan McGee <dan@archlinux.org>
[mk: set defaults in newAlsaData() to fix auto-configuration; renamed
"_MS" back to "_US" because ALSA expects microseconds, not milliseconds]
Signed-off-by: Max Kellermann <max@duempel.org>
|
| |
|
|
|
|
|
| |
We have two mod plugins now: modplug and mod. Rename the latter to a
more useful name.
|
|
|
|
|
|
| |
Added support for the MusicBrainz TXXX tags, documented on:
http://musicbrainz.org/doc/MusicBrainzTag
|
|
|
|
|
| |
Save some code: always allocate the tag object, and free it when it
turns out to be empty.
|
|
|
|
|
|
|
|
|
| |
Added all important id tags from the MusicBrainz wiki:
http://musicbrainz.org/doc/MusicBrainzTag
This should automatically enable its suport in the vorbis and flac
decoder plugins.
|
|
|
|
|
| |
EOF is checked by input_stream_read() (decoder_read() here). Don't do
it twice. The check was wrong anyway, it was reversed.
|
|
|
|
|
| |
When input_stream_read() returns 0, and input_stream_eof() returns
false, an I/O error has occured. Skip this song.
|
| |
|
|
|
|
|
| |
Don't enlarge the GByteArray when the size limit may overflow in this
operation; check the size limit first.
|
|
|
|
|
| |
The local variable "total_len" is superfluous because GByteArray
always knows its size.
|
|
|
|
|
|
| |
The input_stream API sets size to -1 when the size of the resource is
not known. The modplug decoder checked for size==0, which would be an
empty file.
|
|
|
|
| |
Don't include utils.h and log.h, they are relics from the past.
|
|
|
|
| |
Make sure that log messages are decorated correctly.
|
|
|
|
| |
Don't write CPP if you can write C.
|
|
|
|
|
|
| |
You are allowed to call decoder_read() with decoder==NULL. It is a
convenience function provided by the decoder API. Don't manually fall
back to input_stream_read().
|
|
|
|
|
| |
Merged casefolding code from two locations into this one library
function.
|
|
|
|
|
| |
Changed the function prototypes to get locate_item_list objects
instead of num_items/items.
|
|
|
|
|
| |
Instead of passing two parameters around (number of items, array of
items), combine both in a variable size struct.
|
|
|
|
|
| |
The declaration initialized only the first element. Initialize the
whole array with memset() instead.
|
|
|
|
| |
Use the C99 bool type instead of integer values (1/0 or 0/-1).
|
|
|
|
| |
Renamed functions and variables.
|
|
|
|
| |
Fix a typo in one of the previous patches.
|
|
|
|
| |
Now playlist.c does not contain any protocol specific code anymore.
|
|
|
|
| |
No CamelCase and no typedefs.
|
|
|
|
|
| |
Replaced several wrapper functions from playlist.c, and make command.c
use the queue print functions directly.
|
|
|
|
|
| |
To allow code outside playlist.c to access the "queue" object,
provide a function which returns a const pointer.
|
|
|
|
| |
No typedefs.
|