id3fsd: some docs
authorIan Beckwith <ianb@erislabs.net>
Fri, 24 Sep 2010 02:48:59 +0000 (03:48 +0100)
committerIan Beckwith <ianb@erislabs.net>
Fri, 24 Sep 2010 02:48:59 +0000 (03:48 +0100)
bin/id3fs-index
sbin/id3fsd

index aac469f..1c479f3 100755 (executable)
@@ -58,7 +58,7 @@ sub wanted
 
 sub usage
 {
-    die("Usage: $me [-vqh] [-d basedir] [-b dbpath] [-e mp3,ogg,flac] [--] DIR...\n".
+    die("Usage: $me [-vqh] [-d basedir] [-f dbpath] [-e mp3,ogg,flac] [--] DIR...\n".
        " -v|--verbose\t\t\tVerbose\n".
        " -q|--quiet\t\t\tQuiet (default)\n".
        " -d|--dir=PATH\t\t\tBase directory of source files (default: ARGV[0])\n".
index 96a4f57..983eafe 100755 (executable)
@@ -16,10 +16,10 @@ my $dbpath=undef;
 
 Configure(qw(bundling no_ignore_case));
 my $optret=GetOptions(
-    "verbose|v"  => \$verbose,
-    "quiet|q"    => sub { $verbose=0; },
-    "help|h"     => \$help,
-    "database|db=s"  => \$dbpath,
+    "verbose|v"    => \$verbose,
+    "quiet|q"      => sub { $verbose=0; },
+    "help|h"       => \$help,
+    "database|f=s" => \$dbpath,
     );
 
 usage() if(scalar(@ARGV) != 2 || !$optret || $help);
@@ -33,25 +33,40 @@ $fuse->run();
 
 sub usage
 {
-    die("Usage: $me [-v] [-q] [-h] [--] file...\n".
-       " -v\tVerbose\n".
-       " -q\tQuiet (default)\n".
-       " -h\tThis help\n".
-       " --\tEnd of options\n");
+    die("Usage: $me [-vqh] [-f <dbfile>] [--] <sourcedir> <mountpoint>\n".
+       " -v\t\t\tVerbose\n".
+       " -q\t\t\tQuiet (default)\n".
+       " -h\t\t\tThis help\n".
+       " -f|--database=FILE\tPath to database file\n" .
+       " --\t\t\tEnd of options\n");
 }
 
 __END__
 
 =head1 NAME
 
-program - description
+id3fsd - FUSE filesystem for browsing id3 tags
 
 =head1 SYNOPSIS
 
-B<> [I<-v>] [I<-q>] [I<-h>] [I<file>...]
+B<id3fsd> [B<-vqh>] S<B<[-f >I<dbfile>]> [B<-->] I<SOURCEDIR> I<MOUNTPOINT>
 
 =head1 DESCRIPTION
 
+id3fsd provides a browsable filesystem of your music files, organised
+into sub-directories by id3 tags (or flac/ogg comments).
+
+An index should first be created with L<id3fs-index(1)>, then id3fsd
+can mount the files in I<SOURCEDIR> on the directory I<MOUNTPOINT>.
+
+If not explicitly specified (with B<-f>), the index is searched for
+at I<SOURCEDIR>/B<.id3fs>.
+
+The resulting filesystem is read-only. Tags appear as directories,
+and files appear as symlinks to the actual files in I<SOURCEDIR>.
+
+FIXME: better description, allow_others/fuse.conf, fstab, explain genre tag
+
 =head1 OPTIONS
 
 =over 4
@@ -68,24 +83,47 @@ Quiet (no output). This is the default.
 
 Show a short help message.
 
+=item S<B<-f >I<FILE>> | S<B<--database=>I<FILE>>
+
+Use database in I<FILE>. The default is I<SOURCEDIR>/B<.id3fs>.
+
 =item B<-->
 
 End of options.
 
 =back
 
-=head1 FILES
+=head1 EXAMPLES
+
+To mount an id3fs filesystem which indexes B<~/music/albums> on
+B<~/music/tags>:
 
-=head1 ENVIRONMENT
+First create the index:
 
-=head1 DIAGNOSTICS
+    id3fs-index -v ~/music/albums
+
+If you have a large collection of music, this may take some time.
+
+Then create the mountpoint:
+
+    mkdir ~/music/tags
+
+and mount the filesystem:
+
+    id3fsd ~/music/albums ~/music/tags
+
+Then explore the tags in ~/music/tags/
+
+FIXME: fstab
 
 =head1 BUGS
 
-None known. Please report any found to ianb@erislabs.net
+Please report any found to ianb@erislabs.net
 
 =head1 SEE ALSO
 
+L<id3fs-index(1)>, L<http://fuse.sourceforge.net>
+
 =head1 AUTHOR
 
 Ian Beckwith <ianb@erislabs.net>