steveperkins.net Mediasync
Brought to you by:
stevedperkins
| File | Date | Author | Commit |
|---|---|---|---|
| src | 2010-11-30 |
|
[6f0d29] Merge branch 'master' of ssh://steveperkins.git... |
| README.TXT | 2010-11-30 |
|
[6f0d29] Merge branch 'master' of ssh://steveperkins.git... |
CREDITS / LICENSE
-----------------
Mediasync Utility, version 1.0
Copyright 2010, Steve D. Perkins
This software is covered by version 2 of the GNU Public License. See http://www.gnu.org/licenses/gpl-2.0.html.
INTRO
-----
This is a small Tcl/Tk script that I wrote for the purpose of managing files between media device and some
larger archive of media files. A secondary purpose was to scrape the rust off my Tcl/Tk scripting skills, and
create my first custom Tk widget (checkboxtree-1.0.tm).
DESCRIPTION / USAGE
-------------------
I am a big fan of the Rockbox open source firmware for portable media devices (http://www.rockbox.org). Rather
than requiring me to organize my device around ID3 and other metatags, it allows me to navigate the files on my
device as a traditional filesystem,
The downside is that for managing a library of media files, and keeping the device in sync with it, most of the
available software is metatag-based. There are some general-purpose tools for keeping two folders in sync, but
I couldn't find anything which quite met these requirements:
* Selective sync -- The tool should not assume that the user wants ALL the library content present
on the device at all times. Only selected content will be copied to the device,
and it will be removed from the device when de-selected.
* Delete safety -- The tool should err on the side of safety, and never allow content to be completely
destroyed. The tool should not be able to remove content from the device unless
content is already backed-up in the archive. The tool should not be able to remove
content from from the archive at all.
* Portability -- The tool should require zero-installation, such that it can be carried and executed
from the portable device. Any configuration file(s) should be saved in the same
directory as the Tcl script... rather than making any alterations to system
directories, or the Windows registry, or anything else.
The tool is intended to be used in a two-step process, and the user interface consists of two tabs representing
these steps.
The first step is to sync the archive from the device. This means that if any new content is found on the device,
which has not yet been backed-up in the archive, the user will have the option to archive that content. After the
user clicks the "Scan for New Files on Device" button, any new content on the device will be presented with a
checkbox beside each file. When the user then clicks the "Archive Selected Files" button, checkmarked files will
be copied from the device to the archive. Non-checkmarked will be ignored altogether.
The second step is to sync the device from the archive. This means that the user will have the option to copy
different file(s) from the archive to the device... and/or remove file(s) from the device, so long as they are
archived. The "Refresh Archive View" button will present all the content in the archive, with checkmarks beside
the files which are already on the device. When the user clicks the "Sync Device to Selected Files" button... any
newly-checkmarked files will be copied to the device, and any un-checkmarked items will be removed from the device.
Common to both tabs are fields for declaring the root directory of the device and the archive. For a Rockbox
device mounted in Windows as drive letter "E:", the value for the device would be "E:\Music". These directory
locations are saved to a properties file, stored in the same location from which the script was executed, and
re-loaded the next time the script is run.