aboutsummaryrefslogtreecommitdiffstats
path: root/src/SongFilter.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-17path: convert to C++Max Kellermann1-1/+0
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-3/+0
2012-08-29SongFilter: convert to a C++ classMax Kellermann1-118/+73
2012-08-29locate: rename to SongFilter.cxxMax Kellermann1-4/+7
2012-08-08locate: add a per-item "fold_case" flagMax Kellermann1-75/+41
Merge locate_song_search() and locate_song_match().
2012-08-08locate: make "tag" unsignedMax Kellermann1-8/+4
2012-08-07locate: make the structs opaqueMax Kellermann1-3/+30
2012-08-07locate: don't allow empty listMax Kellermann1-1/+1
2012-08-07locate: pass unsigned integer to _parse()Max Kellermann1-1/+1
2012-08-07locate: add "pure" attributesMax Kellermann1-0/+2
2012-08-07locate: add "casefold" flag to parserMax Kellermann1-18/+7
Fold the case during construction, without having to create another copy.
2012-08-07locate: remove unused function locate_item_free()Max Kellermann1-7/+0
2012-06-27locate: make variables more localMax Kellermann1-19/+10
2011-09-13locate: remove unused function locate_item_new()Max Kellermann1-13/+0
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-06-30tag: added function tag_name_parse()Max Kellermann1-3/+3
Convert a string into a tag_type enum.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-12include config.h in all sourcesMax Kellermann1-0/+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-11-04tag: added function tag_name_parse()Max Kellermann1-3/+3
Convert a string into a tag_type enum.
2009-04-28locate: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann1-4/+4
strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
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-02-27tag: make tag.num_items unsignedMax Kellermann1-2/+1
There's no point in declaring num_items as a uint8_t, it doesn't save any space, due to padding. This allows us to lift the articial "255 items" limitation.
2009-02-27tag: no CamelCaseMax Kellermann1-4/+3
Renamed numOfItems to num_items.
2009-01-25use g_free() instead of free()Max Kellermann1-3/+3
On some platforms, g_free() must be used for memory allocated by GLib. This patch intends to correct a lot of occurrences, but is probably not complete.
2009-01-25Fix tag not being set when casefolding the locate_item_listQball Cow1-1/+3
2009-01-24locate: added locate_item_list_casefold()Max Kellermann1-0/+12
Merged casefolding code from two locations into this one library function.
2009-01-24queue_print, dbUtils: use struct locate_item_listMax Kellermann1-8/+10
Changed the function prototypes to get locate_item_list objects instead of num_items/items.
2009-01-24locate: added struct locate_item_listMax Kellermann1-26/+26
Instead of passing two parameters around (number of items, array of items), combine both in a variable size struct.
2009-01-24locate: initialize the whole visited_types arrayMax Kellermann1-2/+6
The declaration initialized only the first element. Initialize the whole array with memset() instead.
2009-01-24locate: use bool instead of intMax Kellermann1-31/+30
Use the C99 bool type instead of integer values (1/0 or 0/-1).
2009-01-24locate: no CamelCaseMax Kellermann1-54/+39
Renamed functions and variables.
2009-01-24locate: renamed LocateTagItem to "struct locate_item"Max Kellermann1-11/+13
No CamelCase and no typedefs.
2009-01-22locate: use const pointersMax Kellermann1-5/+7
Pass const pointers where no writes are performed.
2009-01-05locate: fix strcmp() return value checkMax Kellermann1-1/+1
Yesterday's patch set changed tagItemFoundAndMatches() and moved the strcmp() return value into a bool, but forgot to add the ==0 check.
2009-01-04song: allocate the result of song_get_url()Max Kellermann1-5/+11
2009-01-02locate: use GLib instead of utils.hMax Kellermann1-4/+5
2008-12-13locate: ignore case when searching in song pathsMax Kellermann1-1/+1
The function strstrSearchTag() used g_utf8_casefold() to generate the (pseudo-)lowercase version of the song's URL, but it never used the variable.
2008-10-15locate: use g_utf8_casefold() instead of string_toupper()Max Kellermann1-4/+8
string_toupper() and strDupToUpper() were not able to deal with character sets other than US-ASCII. Use GLib's g_utf8_casefold() for strings.
2008-10-08song: removed CamelCaseMax Kellermann1-2/+2
CamelCase is ugly... rename all functions.
2008-10-08song: converted typedef Song to struct songMax Kellermann1-4/+10
Again, a data type which can be forward-declared.
2008-09-29Switch to C99 types (retaining compat with old compilers)Eric Wong1-2/+2
Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the mind needs to retrain itself to skip over the first 4 tokens of a type to get to its meaning. So avoid having extra characters on my terminal to make it easier to follow code at 2:30 am in the morning. Please report any new issues you may come across on Free toolchains. I realize how difficult it can be to build/maintain cross-compiling toolchains and I have no intention of forcing people to upgrade their toolchains to build mpd. Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
2008-09-29allow searching for albums with an empty tagEric Wong1-1/+23
tfing wrote: > I have quite some files with an empty album tag as they do not come > from a particular album. > > If I want to look for those files and browse them, this happens: > :: nc localhost 6600 > OK MPD 0.12.0 > find album "" > ACK [2@0] {find} too few arguments for "find" > > I'd like to be able to browse those files in a client like gmpc. > So these 2 items would have to be developed: > - list album should report that some files have an empty tag > - it should be possible to search for an empty tag with the find command Patch-by: Marc Pavot ref: http://musicpd.org/mantis/view.php?id=464
2008-09-06include cleanupMax Kellermann1-0/+1
As usual, include only headers which are really needed.
2008-08-29tag: converted MpdTag.items to a pointer listMax Kellermann1-4/+4
This prepares the following patches, which aim to reduce MPD's memory usage: we plan to share tag_item instances, instead of just their values.
2008-08-26converted MpdTagItem.type to an enumMax Kellermann1-2/+2
Don't use CPP macros when you can use C enum... this also allows better type checking.
2008-04-12clean up CPP includesMax Kellermann1-1/+1
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-02-05fix -Wconst warningsMax Kellermann1-3/+4
[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
2008-01-26fixed -Wshadow warningsMax Kellermann1-4/+4
Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7143 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-12-28Merge branches/ew r7104Eric Wong1-7/+8
thread-safety work in preparation for rewrite to use pthreads Expect no regressions against trunk (r7078), possibly minor performance improvements in update (due to fewer heap allocations), but increased stack usage. Applied the following patches: * maxpath_str for reentrancy (temporary fix, reverted) * path: start working on thread-safe variants of these methods * Re-entrancy work on path/character-set conversions * directory.c: exploreDirectory() use reentrant functions here * directory/update: more use of reentrant functions + cleanups * string_toupper: a strdup-less version of strDupToUpper * get_song_url: a static-variable-free version of getSongUrl() * Use reentrant/thread-safe get_song_url everywhere * replace rmp2amp with the reentrant version, rmp2amp_r * Get rid of the non-reentrant/non-thread-safe rpp2app, too. * buffer2array: assert strdup() returns a usable value in unit tests * replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants * fix storing playlists w/o absolute paths * parent_path(), a reentrant version of parentPath() * parentPath => parent_path for reentrancy and thread-safety * allow "make test" to automatically run embedded unit tests * remove convStrDup() and maxpath_str() * use MPD_PATH_MAX everywhere instead of MAXPATHLEN * path: get rid of appendSlash, pfx_path and just use pfx_dir * get_song_url: fix the ability to play songs in the top-level music_directory git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-20Use "file" instead of SONG_INFO (literally "file: ") forJ. Alexander Treuman1-2/+2
LOCATE_TAG_KEY_FILE. Specifying "file: " as an argument to search/find/list wasn't the point of that patch... git-svn-id: https://svn.musicpd.org/mpd/trunk@5670 09075e82-0dd4-0310-85a5-a0d7c8717e4f