User Tools

Site Tools



The following tasks are pending and need some attention. Please see also this extra wiki page for GoogleSummerofCode


  • add write support for ATRAC3, ATRAC3+ and PCM
  • use the play order list to present the right track numbers to the user. Rhe play order list is at offset 256 in the track index, consists of 16 bit words in big endian encoding. The first word is the number of tracks, the following words map the logical track numbers (1..maxnum) to the track info entries. The user should be presented the indices into the play order list instead of the record number of the track info entry (as is now) Perhaps a API revamp (renaming some stuff) is useful now that there is the concept of track numbers (in the play order table) and track slots (in the track table, the only concept supported earlier)
  • implement titling
  • implement an write-stream to add audio tracks to the atdata0X-file
  • implement an MP3 writing stream on top of that
  • implement grouping
  • implement support for libscg to allow disk formatting and erase (will use dvd+rw-tools)
  • write documentation for libhimd, use Doxygen ( to document code first
  • compile libhimd as a dynamically linkable library, see:
  • Bug: codec information is not properly set when writing MP3s making tracks unplayable⇒ extract correct codec information from MP3 to be written using libmad
  • Bug: TRKIDX0x.HMA name counting scheme is not correct: writes to TRKIDX0(x-1).HMA instead of TRKIDX0x.HMA
  • Bug: fails to encode strings for title, artist and album information on MacOS X


  • add support for ATRAC-SP, ATRAC LP4 and PCM (currently, LP2 is supported only)


  • implement automatic updates on Windows and MacOSX (autoupdater) (requires versioning)
  • add support for libnetmd
  • integrate possibility to create new folder in directory browser for upload; usually one creates a new folder to store tracks to be uploaded
  • add option dialog for various settings:
    • enable/disable appending of track number to filename for upload; e.g. "01 - Bla - Blub.mp3" and "Bla - Blub.mp3"
    • set display language
    • provide path to key file
    • option to enable upload of non-supported tracks (i.e. unknown encryption) (not necessary anymore)
  • show tracks on HiMD in treeview instead of listview
    • show bitrate and group-information in treeview (group information needs libhimd support)
    • group HiMD-groups in treeview (needs libhimd support)
    • display groups
    • edit groups
  • make use of statusbar to display mountpoint and space-left/overall space of HiMD
  • write help-file (alternatively use Qt's "Whats this ?")
  • export tracklist to text-files (HTML or XML for example, Qt has XML-Support)
  • allow drag and drop for upload/download of files
  • detect connected HiMD-Walkman automatically (platform dependent) and display model number of HiMD-Walkman in status bar (e.g.: HiMD device: Sony MZ-RH10) via USB-IDs
  • items in list should be right-clickable
  • adjust column width upon loading disk index
  • use platform-indepent SCSI library (libscg) for:
    • reading discid (countercheck with mclist0x.hma-file)
    • formatting HiMD → already successfully performed on Linux (see himdformat.c)
    • get/set date/time and display in statusbar
    • allow/prevent medium-removal (lock MD during transfer)
    • use DRM Read/Write future OpenMG-compatible transfer for ATRAC3 (?)
    • implementing upload of ATRAC-SP on Sony MZ-RH1
  • import date and time of recording and display in QHiMDTransfer when possible
  • allow to enable/disable display of columns in listview of HiMD contents
  • build universal binaries (PPC/Intel and Intel32/64) for MacOS:
  • implement MP3 upload
  • implement PCM upload (NOTE: PCM Upload is not supported for PCMs with non-constant keys yet, i.e. non MZ-RH1, output files lack WAV-header)
  • implement ATRAC3 upload (NOTE: The same as for PCM also applies for ATRAC3/ATRAC3+)
  • use libsox to convert raw PCM into WAV-format
  • implement MP3 download (needs libhimd support, implement MP3 download using titling and the MP3 stream)
  • implement PCM download (needs libhimd support)
  • implement ATRAC3 download (needs libhimd support)
  • later versions should employ folder-browser for filesystem for upload/download (similar to SonicStage)
  • run upload/download in extra threads, use Qt multithreading; display progress in status-bar
  • redesign about dialog, see: about_dialog
  • display MAC/Key in tracks list or alternatively "Encrypted: Yes / No"
  • show status-window after download: 4 tracks(s) successully uploaded. 2 tracks(s) could not be uploaded: 2, 8.
  • remember last (upload-)directory
  • use QSettings to store settings (like last directory used or language)
  • use qmake and git describe to determine version number, display version number in about dialog and leverage version number to write a built-in updater on MacOS and Windows; reading the version number using qmake:
  • use QtLinguist to translate (Translation) QHiMDTransfer into German, Norwegian, Swedish, Japanese, French, Italian, Spanish, Arabic, Finnish, Danish, Russian, Polish, Greek, Dutch, Chinese
  • Bug: qhimdtransfer does not provide any keyboard shortcuts on MacOS X
  • Bug: track list window should add anothor empty column to allow resizing the "Uploadable" column
  • Bug: does not check any error-codes from libhimd
  • Bug: default directory for upload/connect should be system-indepent; hardwiring "/home" is not a good idea for a Windows port (unless Qt somewhat matches /home to a different directory in Windows) (Qt is smart enough to do that for us)
  • Bug: connect-button should check whether the chosen directory containts a HMDHIFI.IND file in the root directory to verify the selected folder contains actually HiMD-data
  • Bug: all buttons except "Connect" should be disabled unless a HiMD has been selected with "Connect"
  • Bug: lacks an icon for "About" in the menues
  • Bug: on Linux, the directory for the HiMD device stored with QSettings cannot be used; when clicking "Connect", simply clicking "Open" does not connect to the HiMD unless a different directory is clicked, then the device path again. (This is a low level Gtk bug getting exposed by Qt if running in QGtkStyle, not a QHiMDTransfer bug, we still might work around, it only happens with Qt in the Gtk style)
  • Bug: filesystem changes (e.g. creating a new folder) are not seen in qhimdtransfer's treeview unless the software is restarted
  • Bug: choosing a track, clicking "Upload" in the toolbar, then "Cancel" in the choose directory dialog, will still initiate a transfer dialog (even though "Cancel") was chosen in the "Chose direcory" dialog
  • Bug: "Upload" can still be clicked even if no tracks are selected for upload
  • Bug: clicking "Connect", then "Cancel" to abort the process of selecting the folder for the HiMD device will still cause "qhimdtransfer" trying to open the HiMD device
  • Bug: does not build proper default architecture on MacOS/PPC (tries to build i386 on PPC which eventually fails during linking) - likely to be a bug in Qt:



  • rename himdtest to himddump; move into basictools folder; include in Ubuntu packages
  • rename basictools to tools
  • create qmake-qt4 project for tools/
  • include himdformat in Ubuntu packages
  • rename minikey to himddiskid
  • add –help option to himddump, himddiskid and himdformat (
  • create manpages for himddump, himddiskid and himdformat
tasks.txt · Last modified: 2012/01/06 10:06 by glaubitz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki