SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

# Copyright 2003-2005 - Alexandre Bourget # $Id: README 47 2005-09-06 03:50:33Z wacky $ #
# VISTOL - Very Simple Intuitive Tag-Oriented Language # VISTAG - The application that uses Vistol #

Vistag is another massive CD ripper with several tagging and printing capabilities.

Vistag requires to have CDDB.pm and CDDB_get.pm installed. You can get them from search.cpan.org or from your distribution packages. [TODO: Insert instructions to install these components here.]

Vistag can output PDF files to print on CD envelopes, saving the time needed to format then in an editor.

It can import xmcd (freedb, cddb) files, and will create tag files, which are more intuitive and easy to manage. It's main purpose was to tag Ogg files with better meta-data than ID3 tags and use the maximum of the Ogg frame capabilities, not limiting with a couple of simple tags, and tiny length.

Vistag can also extract meta-data from a list of Ogg files and create a descriptive 'tag' file with all redundancy omitted and properly arranged to be easier to edit.

For example:

tag [range|all] [tag_name] [tag value ...]

If all 'artist' tags are the same, then the 'tag' def will look like:

tag all artist The best artist around tag all album The best album ever

Note that you must specify a 'total' at the top of the file to be able to use 'all':

total 13

That way, Vistag knows you have 13 files, and will fill in 13 values when you specify 'all'.

If you have several different titles, for example, the TagAnalyzer module will output something like:

def title : {

       Track one
       Track two
       Track three
       Track four
       Track five
       Track six

}
tag all title title

Note the ':', which is a separator for the multiplier. One example would be:

def artist : {

       Artist, the first : 5
       Artist, the second : 6
       Artist, the third : 2

}
tag 1-13 artist artist

which would tag the first 13 tracks, with 5 times the 'first' artist, 6 times the second, and 2 times the third.

Fun things you can do:

total 9

def work : {

       Sonata No. 1 : 3
       Sonata No. 2 : 3
       Concerto No. 1 : 3

}
# Note the ';' .. since we need ':' in the actual content. def mvts ; {

       Allegro con moto: ma non troppo
       Adagio
       Allegro con brio
   
       Allegro
       Adagio
       Allegro moderato
   
       Very speedy
       Hey, sllllllow down
       Wow, that's fast!

}

# Note the 'R' for roman numerals. Use 'r' for low case romans, 'n' # for arabic numerals, and a number between 2 and 9 to set a fixed # width arabic number. Ex: 'n2' or '2n' to have 00 to 99 with two # chars.
def nums R: {

       1-3
       1-3
       1-3

}
tag 1-9 title work - nums. mvts

would output a beautiful:

Sonata No. 1 - I. Allegro con moto: ma non troppo Sonata No. 1 - II. Adagio
Sonata No. 1 - III. Allegro con brio Sonata No. 2 - I. Allegro
Sonata No. 2 - II. Adagio
Sonata No. 2 - III. Allegro moderato Concerto No. 1 - I. Very speedy
Concerto No. 1 - II. Hey sllllllow down Concerto No. 1 - III. Wow, that's fast!

You'll find it useful when dealing with large amounts of meta-data

You can also multiply a whole block several times. For example:

def myvals : {

      My value
      My second value
      My third value

} : 2
tag all mytag myvals

Would output (for the tag 'mytag'):

My value
My second value
My third value
My value
My second value
My third value

You can also use the 'const' function. For example:

const mozart Wolfgang Amadeus Mozart tag all composer mozart

You can also use 'const' inside 'def' definitions. For example:

const longname Talking-about-a-hugely-named-album def myvar : {

      longname volume 1
      longname volume 2
      longname volume 3

}
tag all parent_album _myvar_
tag all album longname compilation

The only difference with 'def' is that 'const' doesn't consume values for each tagged file (whereas 'def'd vars do).

You can also refill a variable with the 'def+' function. It will only add values to an already existant var (note that you can use any format you like for variables).

def myvar :R {

      1
      2

}
def myvar :r {

3-4
}
def+ myvar :n2 {

5-6
}
tag all mytag myvar

Would output (for mytag):

I
II
iii
iv
05
06

Now, let's say you have 30 tracks and you want to add in the tags the names of the performers, you can:

tag 1-5,7-9,11-12,25-27,30 performer My mother, off-pitched piano tag 6,10,13-24,28-29 performer My father, turbo guitar

And you won't need to copy & paste or to click anywhere.

Note that this application is still in development, but everyone is invited to have a look and help out with development. If you are interested, contact wacky@bourget.cc at no costs :)

You can find the latest development on the Trac project manager at

http://www.bourget.cc/vistag/

Alexandre Bourget, main developer.
wacky@bourget.cc

#######################################################################

Usage: vistag [options] [fichiers]

Config/Settings:

     --use-embedded-tags       With --rename, use tags inside each file instead
                               of using the compiled tag file. (see
                               also --tagfile)
     --scheme <scheme>         Renaming scheme (with --rename).
                               Available variables: %n (tracknumber), %a
                               (artist), %b (album), %t (title), %c (comment),
                               %g (genre), %tag% (un 'tag' arbitraire).
                               You need not specify the extension. This is a
                               good setting to store in your ~/.vistag.rc file.
     --tagfile <vistolfile>    Changer le nom de fichier vistol (défaut: ./tag)
     -f|--force                Écrire sans demander confirmation (--writetags,
                               --rename)
     --non-interactive         Don't ask anything, use default values when
                               you can
     --dir <directory>         Use dir [directory] for preparation (with
                               --prepare)
     --device <cd_device>      Pour --extract, --query, --burn (défaut: /dev/cdrom)
     --quick                   Don't be paranoid for extraction, just rip it out
                               quickly. Note that results might be less accurate
                               with a poor CD device.
     --freedbhost <host>       Pour --query
     --freedbport <port>       idem.
     --editor <editor>         Changer l'éditeur (pour --edit)
     --tmpdir <path>           Temporary files directory (or use environment
                               TMPDIR variable)
     --dir <name>              Use with --prepare, Vistag will create this
                               subdirectory and prepare the steps to be done.
     --pdfprint <value>        'none'  = ne pas exporter de PDF
                               'title' = only envelop heading
                               'list'  = full songlist
                               'both'  = title and list
                               'ask'   = ask, default. Incompatible with
                               --non-interactive
     --pdfviewer <viewer>      Program to use to preview .pdf files. Use with
                               --print, or store in ~/.vistag.rc
     --nosort                  Ne pas trier les .wav quand on utilise --burn
     --margins-title [margins] Set margins for title printout.
                     'top right bottom left' (ex: '1in 2in 3in 4in')
                 or  'top-bottom right-left' (ex: '1cm 2cm')
                 or  'top-bottom-right-left' (ex: '125mm')
     --margins-list [margins]  Set margins for song list printout. Same
                               margins definitions as --margins-title.
     --margins-calibrate   Print test PDF to calibrate margins of the
                           -x|--print function.

Margins current settings:

Title: $margs_title
List: $margs_list

Aide

--help Cette page d'aide --version Imprimer les informations de version.

Fonctions

-q|--query Requete d'informations au CD-ROM (query disc) -t|--extract Rip audio de CD (extraire les pistes audio) -i|--import-freedb <fichier>

Importer un fichier xmcd (freedb, cddb) ('-' = stdin) -w|--writetags Write tags to audio files -s|--show [tagfile] Show compilation results for the specified file -e|--edit ['done'] Edit tag files. To specify you're done and to mark

the 'edit-tags' step as 'done', use '-e done'. -x|--print Exporter les 'artist', 'album', et 'title' pour

imprimer les pochettes. -r|--read| Lire les tags dans les fichiers et créer un

--import-tags fichier 'tag' en fonction des tags lus -n|--rename Renomme les fichiers en fonction de --scheme -b|--burn Graver les fichiers .wav spécifiés -c|--encode Encode using presets (default: Ogg Vorbis, q=5)

Meta-fonction:

-p|--prepare Prepare CD for batch processing

Tags essentiels pour les Ogg/MP3: artist, title, album.

                      optionnels: tracknumber, date, genre, comment
                                  etc...
Vistag uses these environment variables when necessary:
       PAGER EDITOR TMPDIR

You can also store your settings in ~/.vistag.rc - Just use the long-name option


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.