Ian Beckwith [Sat, 16 Oct 2010 11:38:32 +0000 (12:38 +0100)]
fix sbin support
Ian Beckwith [Sat, 16 Oct 2010 10:59:13 +0000 (11:59 +0100)]
switch to MakeMaker, rip off man8 stuff from vipuls razor, via mat
Ian Beckwith [Sat, 16 Oct 2010 10:36:54 +0000 (11:36 +0100)]
use $PATH_* instead of hardcoded names for TRACKS, NOARTIST and NOALBUM dirs
Ian Beckwith [Sat, 16 Oct 2010 10:26:36 +0000 (11:26 +0100)]
support decade/UNKNOWN
Ian Beckwith [Sat, 16 Oct 2010 10:24:01 +0000 (11:24 +0100)]
incomplete support for filtering directories by whether they actually have contents
Ian Beckwith [Fri, 15 Oct 2010 01:33:28 +0000 (02:33 +0100)]
fix paths on add
Ian Beckwith [Fri, 15 Oct 2010 00:51:16 +0000 (01:51 +0100)]
/ALL fixes
Ian Beckwith [Fri, 15 Oct 2010 00:23:39 +0000 (01:23 +0100)]
NOT: fix left joins
Ian Beckwith [Fri, 15 Oct 2010 00:13:50 +0000 (01:13 +0100)]
special-case /NOT
Ian Beckwith [Tue, 12 Oct 2010 08:21:03 +0000 (09:21 +0100)]
fix /NOT
Ian Beckwith [Tue, 12 Oct 2010 05:05:57 +0000 (06:05 +0100)]
tidy to_sql()
Ian Beckwith [Tue, 12 Oct 2010 04:54:18 +0000 (05:54 +0100)]
use list of join types instead of count
Ian Beckwith [Mon, 11 Oct 2010 22:43:54 +0000 (23:43 +0100)]
fix pruning deleted files
Ian Beckwith [Mon, 11 Oct 2010 04:35:43 +0000 (05:35 +0100)]
start of support for NOT queries
Ian Beckwith [Mon, 11 Oct 2010 02:37:27 +0000 (03:37 +0100)]
fix handling of unset artist/album; unset years default to UNKNOWN
Ian Beckwith [Mon, 11 Oct 2010 02:03:16 +0000 (03:03 +0100)]
filter out empty artist/album names
Ian Beckwith [Sun, 10 Oct 2010 23:59:16 +0000 (00:59 +0100)]
/ALL fixes
Ian Beckwith [Sun, 10 Oct 2010 23:33:29 +0000 (00:33 +0100)]
tags: AND limit clauses together
Ian Beckwith [Sun, 10 Oct 2010 23:11:07 +0000 (00:11 +0100)]
sort_elements: fix dropping parents
Ian Beckwith [Sun, 10 Oct 2010 22:51:35 +0000 (23:51 +0100)]
sort_elements: skip elements with children
Ian Beckwith [Sun, 10 Oct 2010 22:16:13 +0000 (23:16 +0100)]
tags: fix exclusion clause precedence
Ian Beckwith [Sun, 10 Oct 2010 22:06:16 +0000 (23:06 +0100)]
fix elements_to_tree (needs array ref not array) and misc tag fixes
Ian Beckwith [Sun, 10 Oct 2010 20:54:23 +0000 (21:54 +0100)]
tidy code
Ian Beckwith [Sun, 10 Oct 2010 20:32:05 +0000 (21:32 +0100)]
move big chunks of DB into Path
Ian Beckwith [Sun, 10 Oct 2010 19:57:23 +0000 (20:57 +0100)]
fix foo/bar/AND/
Ian Beckwith [Sun, 10 Oct 2010 04:08:15 +0000 (05:08 +0100)]
partial (broken) support for tagvals
Ian Beckwith [Sat, 9 Oct 2010 17:58:23 +0000 (18:58 +0100)]
use tagtree in queries
Ian Beckwith [Sat, 9 Oct 2010 14:37:49 +0000 (15:37 +0100)]
pass path to db methods, not just elements
Ian Beckwith [Sat, 9 Oct 2010 14:14:10 +0000 (15:14 +0100)]
node_to_sql
Ian Beckwith [Thu, 7 Oct 2010 19:02:27 +0000 (20:02 +0100)]
VACUUM when pruning DB
Ian Beckwith [Thu, 7 Oct 2010 18:56:07 +0000 (19:56 +0100)]
non-working and-not implementation
Ian Beckwith [Wed, 6 Oct 2010 17:50:37 +0000 (18:50 +0100)]
actually implement AND
Ian Beckwith [Wed, 6 Oct 2010 16:04:36 +0000 (17:04 +0100)]
sort_elements: ignore everything except tags and booleans
Ian Beckwith [Wed, 6 Oct 2010 04:57:28 +0000 (05:57 +0100)]
assemble tag expression into binary tree, respecting precedence
Ian Beckwith [Wed, 6 Oct 2010 01:26:39 +0000 (02:26 +0100)]
fix indexing files in root of tree
Ian Beckwith [Wed, 6 Oct 2010 01:11:37 +0000 (02:11 +0100)]
partial support for tag expression as binary tree
Ian Beckwith [Mon, 4 Oct 2010 03:34:29 +0000 (04:34 +0100)]
more sql tweaks
Ian Beckwith [Sun, 3 Oct 2010 19:13:04 +0000 (20:13 +0100)]
tags sql tweaks
Ian Beckwith [Sun, 3 Oct 2010 19:02:22 +0000 (20:02 +0100)]
more tag fixes
Ian Beckwith [Sun, 3 Oct 2010 17:18:14 +0000 (18:18 +0100)]
constraints_tag_list: handle dangling tag with unspecified value
Ian Beckwith [Sun, 3 Oct 2010 05:02:02 +0000 (06:02 +0100)]
tags(): fix screening out used tags
Ian Beckwith [Sun, 3 Oct 2010 04:45:55 +0000 (05:45 +0100)]
more schema change/tagval fixes
Ian Beckwith [Sun, 3 Oct 2010 01:46:00 +0000 (02:46 +0100)]
finish tags hierarchy schema change
Ian Beckwith [Sun, 3 Oct 2010 01:12:53 +0000 (02:12 +0100)]
tags hierarchy schema change: change list tags
Ian Beckwith [Sun, 3 Oct 2010 00:51:54 +0000 (01:51 +0100)]
tags hierarchy schema change: change add
Ian Beckwith [Sat, 2 Oct 2010 23:25:04 +0000 (00:25 +0100)]
partially implement tagvals
Ian Beckwith [Sat, 2 Oct 2010 19:01:54 +0000 (20:01 +0100)]
artist_tracks: use tag constraints
Ian Beckwith [Sat, 2 Oct 2010 18:55:45 +0000 (19:55 +0100)]
artists_albums: use tag constraints
Ian Beckwith [Sat, 2 Oct 2010 06:26:41 +0000 (07:26 +0100)]
abstract out tags_subselect
Ian Beckwith [Sat, 2 Oct 2010 05:20:52 +0000 (06:20 +0100)]
relativise symbolic links
Ian Beckwith [Sat, 2 Oct 2010 02:49:32 +0000 (03:49 +0100)]
ANALYZE after adds
Ian Beckwith [Sat, 2 Oct 2010 02:45:25 +0000 (03:45 +0100)]
stop allowing NOTs to endlessly nest
Ian Beckwith [Sat, 2 Oct 2010 02:09:37 +0000 (03:09 +0100)]
actually push boolean values
Ian Beckwith [Sat, 2 Oct 2010 02:04:09 +0000 (03:04 +0100)]
change ALLTRACKS to TRACKS, add NOARTIST and NOALBUM
Ian Beckwith [Sat, 2 Oct 2010 01:55:31 +0000 (02:55 +0100)]
allow OR and NOT in the filesystem
Ian Beckwith [Sat, 2 Oct 2010 00:48:02 +0000 (01:48 +0100)]
tweaked error messages
Ian Beckwith [Sat, 2 Oct 2010 00:43:08 +0000 (01:43 +0100)]
complain if files are outside $base
Ian Beckwith [Sat, 2 Oct 2010 00:34:33 +0000 (01:34 +0100)]
only complain about missing albums if $verbose, complain about artists always
Ian Beckwith [Sat, 2 Oct 2010 00:23:30 +0000 (01:23 +0100)]
sort out DB new interface; search in parent dirs for .id3fs
Ian Beckwith [Fri, 1 Oct 2010 19:55:37 +0000 (20:55 +0100)]
id3fs-index: removed unused entries when reindexing
Ian Beckwith [Mon, 27 Sep 2010 16:23:56 +0000 (17:23 +0100)]
tidy ID3FS::Fuse
Ian Beckwith [Sun, 26 Sep 2010 23:28:51 +0000 (00:28 +0100)]
remove unnecessary slash stripping - sanitised already on add
Ian Beckwith [Sun, 26 Sep 2010 23:18:06 +0000 (00:18 +0100)]
implement id3fs-index -l
Ian Beckwith [Sun, 26 Sep 2010 22:34:08 +0000 (23:34 +0100)]
filter constraint ids, drop undefs
Ian Beckwith [Sun, 26 Sep 2010 09:26:27 +0000 (10:26 +0100)]
added ON {DELETE,UPDATE} CASCADE to foreign key constraints
Ian Beckwith [Sun, 26 Sep 2010 08:45:11 +0000 (09:45 +0100)]
add foreign key constraints
Ian Beckwith [Sun, 26 Sep 2010 08:29:59 +0000 (09:29 +0100)]
remove/disable some debug prints
Ian Beckwith [Sun, 26 Sep 2010 08:14:21 +0000 (09:14 +0100)]
fix tagvals
Ian Beckwith [Sun, 26 Sep 2010 08:08:50 +0000 (09:08 +0100)]
drop given/when, too new
Ian Beckwith [Sun, 26 Sep 2010 07:47:54 +0000 (08:47 +0100)]
use Module::Build
Ian Beckwith [Sun, 26 Sep 2010 07:14:39 +0000 (08:14 +0100)]
AudioFile: check year is defined
Ian Beckwith [Sun, 26 Sep 2010 07:11:09 +0000 (08:11 +0100)]
stop sanitising tagvals on select: now sanitised on input
Ian Beckwith [Sun, 26 Sep 2010 06:42:58 +0000 (07:42 +0100)]
finish refactoring AudioFile
Ian Beckwith [Sun, 26 Sep 2010 05:42:02 +0000 (06:42 +0100)]
flac: remove debug code
Ian Beckwith [Sun, 26 Sep 2010 05:36:42 +0000 (06:36 +0100)]
start refactoring AudioFile
Ian Beckwith [Sun, 26 Sep 2010 05:18:28 +0000 (06:18 +0100)]
fix flac tag extraction
Ian Beckwith [Sun, 26 Sep 2010 05:01:42 +0000 (06:01 +0100)]
partially implement tagvals
Ian Beckwith [Sun, 26 Sep 2010 02:43:15 +0000 (03:43 +0100)]
key albums off artists too (otherwise we get dylan's unplugged in radiohead's unplugged directory)
Ian Beckwith [Sun, 26 Sep 2010 02:29:10 +0000 (03:29 +0100)]
s/File/AudioFile/: fixup code to use new name
Ian Beckwith [Sun, 26 Sep 2010 02:24:57 +0000 (03:24 +0100)]
s/File/AudioFile/: rename files
Ian Beckwith [Sun, 26 Sep 2010 02:23:39 +0000 (03:23 +0100)]
flac/ogg: allow any case for comment names, files in the wild seem to have Genre and GENRE
Ian Beckwith [Sat, 25 Sep 2010 06:19:40 +0000 (07:19 +0100)]
remove debug code
Ian Beckwith [Sat, 25 Sep 2010 06:15:40 +0000 (07:15 +0100)]
ogg support
Ian Beckwith [Sat, 25 Sep 2010 05:42:27 +0000 (06:42 +0100)]
FLAC support
Ian Beckwith [Sat, 25 Sep 2010 04:54:02 +0000 (05:54 +0100)]
rework schema avoiding unnecessary many-many relationships
Ian Beckwith [Sat, 25 Sep 2010 00:08:31 +0000 (01:08 +0100)]
merge ARTIST and TAG states
Ian Beckwith [Fri, 24 Sep 2010 02:48:59 +0000 (03:48 +0100)]
id3fsd: some docs
Ian Beckwith [Fri, 24 Sep 2010 02:09:39 +0000 (03:09 +0100)]
id3fs-index: fix pod
Ian Beckwith [Fri, 24 Sep 2010 02:02:29 +0000 (03:02 +0100)]
id3fs-index: document
Ian Beckwith [Fri, 24 Sep 2010 01:20:12 +0000 (02:20 +0100)]
rename id3fs to id3fs-index
Ian Beckwith [Fri, 24 Sep 2010 01:18:59 +0000 (02:18 +0100)]
last_update: store in id3fs table, update when index is updated,
use as timestamp for everything
Ian Beckwith [Fri, 24 Sep 2010 01:05:20 +0000 (02:05 +0100)]
fiddle with DB->new parameters
Ian Beckwith [Thu, 23 Sep 2010 23:57:39 +0000 (00:57 +0100)]
fix album_tracks
Ian Beckwith [Thu, 23 Sep 2010 23:43:38 +0000 (00:43 +0100)]
fix file splitting; tweaks
Ian Beckwith [Thu, 23 Sep 2010 20:49:36 +0000 (21:49 +0100)]
fix artist + album
Ian Beckwith [Thu, 23 Sep 2010 20:37:45 +0000 (21:37 +0100)]
First music successfully played via id3fs
split file/path in schema
implement tracks
Ian Beckwith [Thu, 23 Sep 2010 18:18:03 +0000 (19:18 +0100)]
start implementing albums
Ian Beckwith [Thu, 23 Sep 2010 16:06:36 +0000 (17:06 +0100)]
partially implement booleans
Ian Beckwith [Thu, 23 Sep 2010 03:35:49 +0000 (04:35 +0100)]
implement tags query from joinfu.com/presentations/tagging.pdf
acceptably fast with sqlite
also create indexes
Ian Beckwith [Thu, 23 Sep 2010 02:40:56 +0000 (03:40 +0100)]
tags(): self-join: postgres fixes