1.1 scribbu

The scribbu project has a few components. The first is a program that provides assorted sub-commands, a few of which are:

  1. scribbu dump See Invoking scribbu dump. will write the contents of any & all ID3 tags found in one or more files to stdout.
  2. scribbu report See Invoking scribbu report. will generate a report listing ID3 attributes on one or more files on stdout. CSV, TDF & ASCII-delimited formats are supported currently.
  3. scribbu rename See Invoking scribbu rename. will rename one or more files based on the contents of their ID3 tags; e.g. scribbu rename -t ``%A-%T.mp3'' *.mp3 will rename all the files matching “*.mp3” to “<artist>-<title>.mp3” where "artist" and "title" are derived from their ID3 tags (if any).
  4. scribbu popm See Invoking scribbu popm. will update ID3v2 play count & popularimeter tags. For instance, scribbu popm foo.mp3 will increment the play counts in “foo.mp3”.
  5. scribbu text See Invoking scribbu text. maintains assorted ID3v2 text frames; for instance, scribbu text --artist='Roxy Music' *.mp3 will set the artist frame to “Roxy Music” in all ID3v2 tags in all files matching “*.mp3”.

Any sub-command can be invoked with --help or -h for more information. Use --info option to display the command’s node in this manual.

The scribbu program also exports functions & GOOPS See GOOPS. classes to a Scheme interpreter, so scribbu can also be invoked...

  1. with a Scheme expression (-e, --expression) or Scheme file (-f, --file). In this case, scribbu will evaluate the given program & exit.
  2. with no arguments at all. In this case, scribbu will drop into a Scheme REPL (Read Evaluate Print Loop) in which the user can evaluate arbitrary Scheme expressions.
  3. as a script:
    #!/usr/local/scribbu \
    -e main -s
    #!
    (define (main args)
        ...
    

Finally, scribbu contains a C++ library (libscribbu) See Using libscribbu. against which one can build C++ libraries & programs.