| Podtool - iPod sync tool |
| |
18 May 2006: New version released
Podtool is a Python-based utility for managing tracks between a local
music repository and an iPod. In particular, podtool implements correct
playcount and ratings synchronisation which is important when using smart
playlists.
I wrote this tool to scratch an itch, so it does what I need it to do. Please
contribute patches, etc and I'll include those in a future release. Perhaps
one day this will become a full blown application (console based iTunes?).
Podtool requires Python v2.4 and libgpod. You also need to install the libgpod python bindings.
Download podtool v1.1(21Kb)
18 May 2006
$ ./podtool.py ipod playlist list
| Name | Items | Tracks |Smart? |
+-------------------+-------+--------+-------+
BBs Nano 694 3688Mb No
Best of the best 386 2003Mb Yes
Fresh 596 3134Mb Yes
Nano Choice 631 3319Mb Yes
New Ones 40 279Mb Yes
ThreeStar 245 1316Mb Yes
Rate me now! 60 348Mb Yes
Podcasts 2 13Mb No
$ ./podtool.py
usage:
podtool.py [options] [args]
command is one of:
sync [meta] - Sync iPod and local DB
- meta: Only merge metadata from ipod
ipod add <files|dirs> [podcast]
- Add <files|dirs> to iPod (but not local db)
If [podcast], set as podcast and add to
podcast playlist
ipod del <notdb|pattern> - Delete tracks (+files) from iPod.
- notdb: all fcksiles not in local db
- pattern: titles matching regex pattern
ipod list <pattern> - List tracks with titles, artist or album
matching given regex pattern
ipod playlist create [podcast]
- Create a standard playlist called ,
and optionally set it to be the podcast
playlist
ipod playlist list [name] - Show playlists [details for ]
ipod playlist add <name> <tracks>
- Add <tracks> to playlist <name>. Tracks
must exist on ipod (see 'add') and are
regex matched by title/artist/album
ipod playlist del <name> - Delete playlist <name>. Use --del-files
option to also delete files/tracks
ipod playlist remove <name> <tracks>
- Remove tracks matching <tracks> from
playlist <name>. Use --del-files option
to also delete files.tracks
ipod dump - Dump tracks and itdb from iPod. Merges
db info to local db and copies files
ipod check - Check ipod for orphans, dupes, etc
ipod makemap - Create mapping between ipod and local db
ipod eval - Evaluate and save smart playlists
ipod fixart - Repair artwork on iPod (re-extract from mp3s)
add <files|dirs> - Add mp3s to local itdb
- <files> to add given files
- <dir> to add dir recursively
del <files|dirs|pattern> - Delete tracks from local db (not files)
- <files> are filenames as in db
- <dirs> looks for tracks under <dirs>
- titles matching regex pattern
list <files|dirs|pattern> - List info for file, dir or regex "pattern"
playlist create <name> [podcast]
- Create a standard playlist called <name>,
optionally set as podcast playlist
playlist list [name] - Show playlists [tracks in it with ]
playlist rules <name> - Show rules for smart playlist <name>
playlist add <name> <tracks> - Add <tracks> to playlist <name>. Tracks
must exist on ipod (see 'add') and are
regex matched by title/artist/album
playlist del <name> - Delete playlist <name>. Use --del-files
option to also delete files/tracks
playlist remove <name> <tracks>
- Remove tracks matching <tracks> from
playlist <name>. Use --del-files option
to also delete files.tracks
eval - Evaluate and save smart playlists
check - Check DB for dangling tracks, dupes, etc
diff - Show tracks which have changed rating,
playcount or playtime on iPod
update <files|dirs> - Hunts for tracks in <files|dirs> and
updates database with new info. Useful if
you have a new rip of a track.
options:
--version show program's version number and exit
-h, --help show this help message and exit
-m MOUNTPOINT, --mountpoint=MOUNTPOINT
iPod is mounted at MOUNTPOINT. Default: /mnt/ipod
-l LOCALDB, --localdb=LOCALDB
Use LOCALDB as local itdb. Default:
$HOME/.gtkpod/local_0.itdb
-M MUSICDIR, --musicdir=MUSICDIR
Dump tracks to MUSICDIR (for dump command). Default:
$HOME/.gtkpod/musicdump
-r RATING, --rating=RATING
Add rating to new tracks (add command only)
--del-files With local 'del' command, also delete files
--limit=LIMIT Limit to files when adding/syncing/dumping
-v, --verbose Verbose output
-q, --quiet Quiet, only print errors
-f, --force Force overwrites (dump command)
-n, --dry-run Dry run, don't actually write anything.
|
| |
| Screensavers |
| |
A stint of unemployment left me with a little spare time,
and how better to spend it than learning a new coding API? Below
are three screensavers I've written that use OpenGL. Pretty screensavers
are good justification for splashing out $$ on a nice 3D card.
They are all included in xscreensaver 3.34 and above.
|
|
Circuit
This hack shows prettly little electronic components floating and spinning
around the screen. Occasionally you will see LEDs and displays randomly
flicker. This hack makes use of light sources and alpha blending for
extra 'ooh' value. Unless you have an old burnin-able monitor, you
should run it with '-rotate -rotate-speed 0'. Other components
can be added relatively easily.
|
|
|
Engine
This is a fairly simple GL rendering of a four stroke engine, that
uses some alpha blending and light sourcing for extra pretties. It
spins and floats around the screen randomly, like any good
screensaver should.
|
|
|
flipscreen3d
This hack is primarily a proof-of-concept. I noticed that no
GL screensavers actually create textures out of the desktop,
so I created this. It takes a snapshot of the screen, and
creates a texture map from it. It then spins it around, mapped
onto a simple square. JWZ improved on this with the 'gflux'
hack.
|
|
| |
| Photo Management Software |
| |
I have written a web based digital image management system called
PhotoShelf. I use it to catalogue and arrange into albums thousands
of digital camera images. It runs under Apache, using mod/perl, and
makes us of a PostgreSQL backend.
Pleae see the PhotoShelf
Home Page for all the information regarding this.
Note - this is old and not maintained any more.
|
| |
| System Loadmeter |
| |
Loadmeter is a Linux/Solaris system resource monitor that uses very
little memory, and is written using raw Xlib. It has numerous
features, all described in the README file.
Version 1.20 (released on 17/9/98) includes support for Solaris.
Download Loadmeter 1.20 (23k)
Alternatively, if you have Debian you can just run apt-get install loadmeter.
|
| |
| OSS Audio mixer |
| |
This is a simple audio mixer for OSS based sound systems. It is very
small (both physically and in footprint), although it is an
incomplete project, yet still almost fully functional. It's
supplied as a single C file, and only relies on Xlib.
Download mixer (23k)
|
| |
| PHP To-Do list |
| |
To-Do is a web-based todo list application. It is designed to be
lean, professional looking and themeable. The interface is very
intuitive and requires no special installation beyond untarring.
Further information is in the README file.
Last update, 25 August 2005.
Download To-Do v1.3(11k)
|
| |
|
|