HourGlass Changelog

What's new in HourGlass 1.4.5

Mar 10, 2014
  • Changes :
  • Preliminary feature to allow envelopes to play at different rates, as a multiplier of the texture length. (ie, if the texture length is 8 seconds, setting an envelope rate of 8 will make that envelope play 8 times during the whole texture.) The dial allows changing the speed to some common multiples of the texture length, the text box can be used to enter a free rate multiplier between 0.001 and 1024. This feature currently conflicts with the looped texture playback. The workaround is to disable the looped playback. (The sounding result will however effectively still be looped for most envelopes.) Also, when offline rendering, longer progressions of multiple playback rates might not evolve as far as desired, as the offline rendering ends at the texture length plus the tail length. The workaround is to use the live output recording feature. I will try to come up with some solutions to these in the future.
  • Maximum voice count increased from 256 to 512. It will depend on the computer capabilities, the used resampler mode and use of multithreaded voice processing if all the voices can actually play.
  • While making the above change, I noticed a performance problem with high voice counts, which hopefully is now fixed.
  • Sound volume to envelope converter window length now has name and value labels in the GUI
  • The offline chain processing progress indicator would sometimes get stuck over the waveform view, hopefully now fixed

New in HourGlass 1.4.4 (Feb 15, 2014)

  • Source sound volume can be analyzed and converted into an automation envelope (found under the Ops menu button as “Generate from sound”)
  • Source sound pitch can be analyzed and converted into an automation envelope.(*) Don’t expect too much out of this, it’s mainly useful to get an envelope that vaguely resembles the pitch curve of the source sound. (found under the Ops menu button as “Generate from pitch analysis”)
  • Fragment scripts can have 2 different sections that are called at seek time or at fragment generation time (forgot to include an example of this in the script presets…) (**)
  • When used as an external editor, no longer require a render target folder to have been set
  • Effect/VST plugin reported latency now taken into account in the offline preprocessing (ie, the assumably silent beginning of the processing is removed in the processed result)
  • Offline preprocessing resets effect/VST before rendering (should fix for example ReaFIR losing the start of the sound)
  • Envelope generation function rewritten so that the audio engine mutex lock is held only for a very brief time, even if tons of envelope points are generated
  • Some other changes/fixes

New in HourGlass 1.4.3 (Jan 3, 2014)

  • Source position, panning and transposition randomization can now use an envelope shaped probability distribution. The envelopes to control these are currently available from the View button menu (above the envelope editor, right to the Grid/Snap button), under the Main parameters submenu. Note that the randomization/spread amount for the parameters in question must be higher than zero for the probability shapes to do anything. This feature will probably be later enhanced to include morphing between the probability distributions etc.
  • Rewrote sample offline reverse to use the element swapping algorithm instead of using a temporary buffer.
  • Rewrote some envelope point removal routines using the erase-remove idiom to get a lot faster removal of the points (especially if there are tons of envelope points to be removed)
  • Sound source select parameter envelope grid should now match the sound source selection (there was a rounding error previously which made it necessary to leave the envelope points between the envelope value grid lines to cause the sound source to change)
  • Some other tiny fixes and changes

New in HourGlass 1.4.2 (Nov 16, 2013)

  • New main parameter to randomize the source position 0%-50% of the whole sound duration.
  • New main parameter to select the sound source to play in Classic mode. If the parameter is at the minimum value, the usual random selection system is used.
  • Envelope segment shape node movement now follows the mouse direction when dragging (with the power shape, looks like others might now/still be broken…)
  • Keyboard shortcuts loading at startup optimized
  • Context help optimized to not excessively access the help text file
  • Some tweaks to other behaviors/defaults

New in HourGlass 1.4.1 Preview 1 (Sep 23, 2013)

  • XY pad to control parameters. (Right click on the XY area or handles to get the available options.) The added parameters go through the existing remote controls system, so it’s possible to use elaborate response curves for the XY pad handle movements, as with MIDI/external OSC control. This feature is a work in progress and may have so called “rough edges” in this release.
  • Offline processing now has the possibility to save/restore a default chain. (Right-click on the processor list area)
  • Offline processors can be copy/pasted
  • Fragment sound source waveform zoomer/scroller shows peaks to help navigation. (If you don’t like it, you can resize the zoomer/scroller small and the peaks disappear.) This doesn’t at the moment work really well when multiple sounds have been loaded. (Some redesign will probably happen in the future. Maybe each sound will get its own zoomer/scroller or something.)
  • Varispeeder offline processing module saves and restores state
  • Before offline rendering operations, available space on disk is checked
  • Disallowed choosing “silly” paths to scan for VST plugins (like the desktop or the root of a drive). If such paths were previously chosen, they remain however.
  • Rendering source sound directly to disk (without involving the fragmentation engine) no longer (hopefully) crashes the app. This was a terrible stupid bug. :(
  • Some other changes/fixes

New in HourGlass 1.4.0 Beta 3 (Jun 8, 2013)

  • Fixes for various issues introduced in the remote controlling system (some issues are probably still left, the remote controls code was rewritten since 1.3.0 to internally use OSC messages, even for MIDI)
  • Status error messages no longer end up showing only “Should not see this” ;)
  • If the fragment voices get starved (due to extreme Fragment rate and Fragment length settings), this no longer causes an error status message but rather it is indicated in the performance meter (lower bar in the transport panel) in red color
  • VST plugin scanner program now communicates its results back in a different way that hopefully fixes some issues, especially on OS-X.
  • Default sample start and end markers now restored, if they have been set for a particular sound file
  • Action (available only for remote controlling) that moves the sample playback range now behaves nicer

New in HourGlass 1.4.0 Beta 1 (May 31, 2013)

  • Varispeeder offline processing module
  • Rack DSP module that allows you to load multiple effects in parallel chains
  • Fragment voice sends volumes and probabilities can be automated
  • Various other changes

New in HourGlass 1.3.0 (Feb 20, 2013)

  • This build hopefully fixes the issue with the offline chain processor GUIs not being available after loading a HourGlass workspace file.

New in HourGlass 1.3.0 Beta (Jan 24, 2013)

  • Added triggable parameter gestures system. While you can operate it from the GUI 8×8 grid by clicking with the mouse (with the middle button, sorry Mac users, I think it doesn’t work there) or by assigning keyboard shortcuts or toolbar buttons to trigger the gestures, it probably works the best via MIDI or OSC remote control. This feature may be rather complicated at first to understand and use and probably warrants a separate Youtube video or blog post to explain it better. If you don’t plan to use HourGlass in a performance oriented way (live or by recording the audio output into a file), this feature likely isn’t going to interest you. (It might be developed later so that it’s possible to trigger the gestures from an editable timeline but at the moment it has no useful purpose when offline rendering the textures.)
  • MIDI/OSC Remote control system was reworked. The scriptable value mapping system was removed (hopefully nobody misses that) and instead the incoming control values can be mapped using a visual envelope editor.
  • The source sounds offline processing system can now remember audio peaks for all the intermediate processing steps, so that the envelope editors for the offline processing modules can now show the proper guide audio peaks. Note that when zooming in enough, the peaks or a waveform is not shown as that data is not available. (Because that would require storing the whole audio data for each processing step, which might be a bit too much memory wise for this…)
  • Source sound buffers handling was improved. If the same audio file is loaded into HourGlass several times, only one real copy is kept around. Offline processing no longer makes a redundant copy of a file if the processing chain has all processing modules bypassed.
  • Envelopes/parameters lifetime management was improved, hopefully eliminating many bugs (including crashing ones) relating to adding/removing the envelopes.
  • Envelope editors can be locked to show a particular parameter envelope.
  • When plugins are scanned, a visual indicator is shown that the scan is going on and if errors were encountered, a log is shown. On Windows the plugin scanner process won’t show the usual Windows crash dialog, to allow the scan to go faster if a plugin crashed. A solution for OS-X seems to also exist to not show the crash report dialog, but it’s more complicated to properly disable that, so it wasn’t yet implemented.
  • Lots of more minor changes that will be added to this blog post later. Now I just want to get the new version out into the world after so much delay…

New in HourGlass 1.2.11 Beta (Nov 15, 2012)

  • VST preferences page again accessible
  • OSC remote control can optionally run either in a worker thread or the GUI thread(*). Note that the OSC enabled state will reset to disabled by default in this version, so visit the Remote controls manager to enable OSC receiving as needed.
  • Toolbar manager lists available actions without first having to write into the actions filter.

New in HourGlass 1.2.10 Beta (Nov 15, 2012)

  • OSC remote control runs in a separate thread which might improve performance and responsiveness to the OSC messages.
  • Render output base file name saved and loaded with .hourglass document files
  • Experimental self extracting 7zip exe-archive for the Windows version. If I get reports this doesn’t work due to web browsers, virus scanners etc complaining, I’ll use again the .zip archives.

New in HourGlass 1.2.9 (Nov 9, 2012)

  • Removed action page from preferences. Action shortcuts can now be set from Info->Show actions list or from the default shortcut ?. The toolbar manager also utilizes the new action list with the search-as-you-type filter.
  • Envelope value grids can be exported and imported as simple text format files. (From the envelope right-click menu)
  • Removed FLAC file format on OS-X from the supported file extension lists for now, to reduce user confusion. (I will look later into supporting them.)
  • Envelope points can be added on the existing envelope lines by double clicking over the line (when the cursor has changed into the up/down-adjust cursor). This doesn’t work that well for envelope segments that are not linear, but perhaps this can be improved in the future.
  • Envelope generator Rate dial right-click menu has option to generate points at oscillations per second. (As opposed to oscillations per the whole duration of the envelope or time selection.) This can create very large amounts of envelope points with long textures and high point generation rates, so be moderate… ;-)

New in HourGlass 1.2.8 (Nov 9, 2012)

  • Envelope time selection handles and envelope generator now have the ability to fade in and out the envelopes (centrally to the whole envelope, I will look later into making that work so that it fades centrally to the relevant envelope point values)
  • DSP modules hosted in the offline processing chain now support automation envelopes (this wasn’t tested a lot, but it would appear to mostly work)
  • Fixed some problems and crashes which happened when removing sound files
  • Finally some handling added for missing audio files when an .hourglass file is loaded. Works as follows : 1) Looks for file in the original location. 2) Looks for file in the location where the .hourglass file is. 3) If a file was previously succesfully found at step 4, looks for the file in that location. 4) Pops up a missing file handling dialog, which allows to browse the file manually or scan the filesystem starting from a selected folder. (Note that on OS-X it’s probably best to choose the manual browsing and use the Spotlight search feature of the operating system.)
  • Random refresh button in envelope generator makes the offline chain render the audio file if required
  • Envelope generator right-click menus for the time and value shaping options work again
  • Sound start/end and envelope generator parameters have remote learn feature via right-click
  • Added action to Info menu that generates an html page of the available actions and their currently assigned keyboard shortcuts and launches the default internet browser to show the html page
  • Added action to reset the sample playback range to cover the whole file
  • Hopefully fixed broken realtime playback after offline render (was previously complaining about starved voices)
  • Envelopes in Play forward mode now should show more proper time values in the envelope time ruler area
  • Resample envelope operation bug fixed (was adding an envelope point that made the envelope playback code confused)
  • Play forward mode audio file samplerate related bug fixed

New in HourGlass 1.2.7 (Nov 9, 2012)

  • Envelope snap/grid options now in a separate popup to save screen space and reduce clutter.
  • Actions to toggle first 8 offline processors on/off for the currently selected sound source.
  • Additional MIDI/OSC remote control targets : envelope generator and sound start/end.
  • Sample start/end markers mouse handling improved.
  • Live output recording can now use a separately set folder for the output files. If the spesific folder hasn’t been set, tries to use the following folders (in order) : offline rendering folder, Desktop folder, “My documents” folder, folder where the HourGlass binary is located.
  • Selected sound source can directly be rendered to disk without going through the fragmenting process and mixer. (File->Render selected sound source) This is useful if the offline processing chain has already made the source sound interesting enough.
  • “Fragment visualizer” panel removed. Might be resurrected in improved form in the future.
  • BitMapper DSP module has new parameters that shift the bit rows and columns

New in HourGlass 1.2.6 (Nov 9, 2012)

  • Hopefully fixes the moving of the envelope points becoming locked unpredictably
  • Sound sources and Sound viewer accept dropping of audio files when they are set as floating windows

New in HourGlass 1.2.5 (Nov 9, 2012)

  • New envelope Texture position that can globally alter the playback time trajectory of all envelopes simultaneously. (It’s like the Source position envelope for the sample playback position, but instead for all the envelopes)
  • Envelope generator and envelope presets popup windows can be moved by dragging an empty area/text label and they appear at that position the next time they are launched
  • More of the HourGlass window area accepts dropping sound files to be imported (The Sound sources and Sound viewer to be more precise. Unfortunately these still don’t work for dropping sound files if they are floating detached from the main window area.)
  • 3 panning spread modes are now supported instead of the previous 2. Choosable from the Panning centre and Panning spread [A] menus or via a cycling action.
  • Hopefully fixed bug that would crash HourGlass once it had been hidden for sometime due to changing to another application
  • Save/load of remote control assignments should now work for the case when one mixer channel has several instances of some DSP module/plugin and the same parameter assigned to a remote control.

New in HourGlass 1.2.4 (Nov 9, 2012)

  • Play forward mode processing quality improved when there’s no playback speed and pitch change (this won’t null with the original signal, at least yet, so don’t bother testing it like that.)
  • Option to play multiple sound sources simultaneously (instead of alternating between the sources for each fragment), under the Fragment rate [A]-button menu.
  • Low pass and high pass DSP modules consolidated into One Band Filter, which now also has band pass and band reject filter modes.
  • Sound source offline pre-processing progress is now shown in the waveform display instead of the progress bars in the offline chain panel, so that the GUI layout won’t be disturbed by the progress bars appearing and disappering.
  • Sound source offline pre-processing now supports cancelling the processing in progress for DSP modules (the built in realtime effects and VST plugins), so you don’t have to wait until the processing is finished before tweaking the effect parameters again
  • Sound source offline pre-processing now saves and restores the states of the realtime effects hosted in the offline processing chain.
  • Envelope generator doesn’t seed the random generator separately each time the points are generated. Rather the same seed is used until manually refreshed using the [R] button in the generator panel. The initial seed will be different for each envelope editor.
  • Added cute magnet icons in the envelope editors when time and value snapping to grid are enabled.
  • Optimization introduced in previous version did actually break the envelopes drawing, so the optimization is now disabled
  • Classic/Play forward mode saved/restored in .hourglass documents. (Sorry, this was a stupid mistake that this hasn’t worked previously.)

New in HourGlass 1.1.0 (Jun 12, 2012)

  • Offline sound preprocessing system has been enhanced in various ways. (Modules now support user interfaces, can add/remove modules, DSP modules that can be inserted in the mixer can be used for offline processing, new offline processor Trim silence.)
  • Sound sources preview again has output volume and looping on/off controls
  • Bug fixed in the convolution DSP module
  • The custom zooming scrollbars changed to look a bit nicer and take a bit less screen space
  • Context sensitive help panel can be turned on from View->Help. Not nearly all areas of HourGlass are yet included in this system but I will add more informative texts as new versions are released.

New in HourGlass 1.0.1 (May 2, 2012)

  • When recording live output, the status overlay display isn’t triggered to show. I will come up with something else to show some info about the recording status later.
  • Fragment script program autocompilation now has a user settable delay before the compilation after typing has ended
  • Fragment scripting uses new Cockos Eel2 engine. This hasn’t been extensively tested, but basic usage seems to work.
  • The sound peaks display has a minimum heigth, so it should show itself more prominently and the remote controls manager window is hidden when HourGlass is started for the first time when no previous settings yet exist
  • Fix for potential crash/corruption when new DSP inserts are added in the mixer slots