Top ! alpha 0.0.2 Update

Martin Fouilleul  —  2 weeks ago
Here comes Top ! alpha build 0.0.2 ! This build brings an enhanced save system as well as various GUI bug fixes.

Audio files references

The updated save file format introduces an AudioFiles chunk which stores unique records to all audio files used in the cue list. Each audio cues then references its audio file by a unique identifier, rather than maintaining its own (possibly duplicated) information about the file. This allow for an easier management of broken paths in cases where the audio files or the save file are moved to another location. It also allows changing a reference to point to a newer version of the audio, and updating all the cues that referenced this file. Here is how it works :

  • When you open the save file, Top !'s files manager first determines if the save file has been moved (the original path is stored at the begining of the save file and can be compared to the path from which the save file is loaded).
  • If the save file has not been moved, the files manager looks up the audio files by their absolute paths.
  • Otherwise, it first compute the path each file had relative to the save file when it was written. Then it tries to locate the file with the same path but relative to the new save location. If the file can't be found, it's reference is still created but marked as "broken".
  • A new tab in the settings window allows the user to view all the files used in the cuelist, showing their name, their absolute paths, and their status (valid or broken).
  • Each individual file record can be manually relinked to a new file by clicking on the "Relink" button.
  • The file manager also include a feature that recursively search the files by name in a provided directory, then list each relink candidate. You can pre-select a number of file records by clicking on their check box, then click on "Find/Relink" button and choose a directory in the dialog window. The relink candidates of the currently selected record are shown below and one of them can be chosen by clicking on its "Relink" button.
  • The file manager UI has a number of key binding as well : up/down arrows to navigate the record list, Enter to check/uncheck, 'R' to relink the selected record, 'F' to Find/Relink all checked records.

Future enhancements of this file management interface could include other criteria of searches (eg. audio length, samplerate, channel count, etc... as well as checksums that would ensure only identical candidates are listed). It may also be extended to plug-ins files (although plug-ins are typically located in a few known directories).


GUI Bug fixes and improvement

  • Added automatic placement of pop-up menus.
  • Added scrolling in large pop-up menus.
  • Fixed a bug where parts of the matrix were not redrawn properly when scrolling
  • Fixed a bug where scrolling would left thin dark lines on the surrounding GUI elements.
  • Fixed a bug where some buttons could become irresponsive when the matrix or cuelist views were full.
  • Fixed a bug where scrollbars could not be dragged if the mouse moved outside the scrolled view.
  • Fixed a bug that could clip the right edge of numbers in the matrix cells.


Monthly roadmap

I feel like this could be a good time to consolidate and improve the dsp matrix system and speed up the dsp code (probably involving SSE, multi-threading, etc...). Another thing I really want to add soon is some kind of basic debugging infrastructure (hit count / performance counters, logging, tracing calls) that will help chase bugs as the applications grows.


Happy coding !

Martin
Log in to comment