Jump to content
mark_gamache

Documentation on the .hlx JSON format?

Recommended Posts

I am using the Helix to control a bank of external pedals using the VooDoo Hex. I control the VooDoo Hex loops using CC messages. Of course, I can use the command center to do this, but manually assigning multiple channel / CC messages to control each loop for each snapshot (or foot controller) is tedious.  I doubt live programming the Helix directly using an external app (midi or FBV) is easy (please tell me if I am wrong).   Is there documentation on the .hlx JSON format? I could write an GUI editor to facilitate editing the .hlx files then upload to Helix with the Line 6 editor.  I can try and use samples to reverse engineer, but it would be better to get official docs. 

 

thanks,

mark

Share this post


Link to post
Share on other sites

Its the open standard "JavaScript Object Notation." There's plenty of documentation online. There are also free or paid editors available. I use one on the Mac called JSON Wizard, which I use to edit Helix files.

  • Upvote 1

Share this post


Link to post
Share on other sites

sorry, I should have been more specific. JSON is the container, but the structure and message specifics are still unique to Line 6 Helix. I could de-serialize some samples, but that would only expose the features used in that sample. It would be cumbersome (not impossible) to reverse engineer the formatting.  

 

thanks,

mark  

Share this post


Link to post
Share on other sites

Ah, I see. Some of the editors out there are at least helpful in grouping and parsing the hlx files so they're easier to read so you can figure things out via trial and error. It's time consuming and tedious at best, so it would be nice if someone would make a Helix-specific editor/parser, or at least provide documentation as you mention.

Share this post


Link to post
Share on other sites

I actually did a bunch of work on an app to analyze and possibly manage Helix presets, focusing on IRs. At the time, which was before Helix had actual backups, you had to export your IRs, and manually import them back into the same slots. That required renaming them with a 3-digit prefix, so you'd know what slot to put them in.

 

The immediate plan was an app to let you see which IRs were in use, by what presets, and which IRs a given preset used. That part was working here, but more work was needed to make it a distributable app other people could install and run easily.

 

Second-level goal was to let you reorder your IRs in the app's UI, which would then rename the files on disk, and update your presets to point to the new locations. I hadn't completed that part, but the building blocks were all there.

 

Third level idea was to figure out how to strip the name- and location-specific info out of IR files, leaving only the actual audio. That would let the program build up a database of all the IRs you had, to find duplicates, and to recognize presets that used them, even if the names were different. Pie-in-sky version was a public online repository of that info, so it could recognize the IRs used by a preset, if anyone anywhere had ever submitted that info.

 

I abandoned the project when Helix got real backups, both because numbering IRs wasn't necessary any more so I figured people wouldn't do it, and because full backups are in a binary format, not human-readable JSON. It's possible the presets and setlist parts of them are just compressed, and would be parsable if unpacked, but I didn't immediately come up with a useful approach, Line 6 stayed silent when I asked about it, and I let the whole thing drop.

 

All of which is a long-winded way of saying, you can probably figure out how the JSON parts of Helix exports work if you're a programmer type; I did :)

 

I probably should have asked this first: What are you trying to do?

Share this post


Link to post
Share on other sites

I am not that familiar with how the IR's are stored, but how did you communicate with the Helix hardware? (I am a programmer type...).

 

My needs are pretty simple, I just want to build a GUI on top of the command center that lets me view edit the loop changes (CC messages) on my VooDoo Labs Hex switcher. Using the basic command center UI would work, but it's cumbersome and not conducive to quick editing or experimentation.   

Share this post


Link to post
Share on other sites

Short answer is that I didn't talk to the Helix, just read and manipulated presser and IR files on disk. You had to export them first, and if I had got to updating them, import them back in when you were done.

 

I'm zero help if you need to talk directly to the Helix in real time. 

 

Can you do what you need via midi? They're are various hardware and software things to do stuff in that world.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...