Jump to content
zooey

HIRB, a Helix IR Browser

Recommended Posts

So now there's HIRB, a Helix IR Browser, lets you see which presets use the IRs contained in a collection of Helix setlist files.
  • Purely browser based, nothing to download or install
  • Doesn't modify your files, just shows information about them
  • Doesn't upload them, processing happens right in the browser
  • Pretty much zero risk, can't corrupt your files or anything

 

Hopefully it's pretty self-explanatory, ask here (or on TGP) if not, I'll be around when I can be.
 

One caveat: This does look at snapshots, switches, even continuous controllers. However, it has no way of knowing whether a patch is intended to use 4 snapshots or 8, so if snapshots are in play, it'll report the IRs for all of them, even ones you never use. I think it's not really an issue, but I (or someone?) need to do more research on how snapshots you've never accessed report themselves. Copious free time...

 

Another thing. Frank from Line 6 was going to post about this on the FB Helix group, but I'm not on FaceBook and don't want to be. So, could you guys who are be my eyes and ears there, let me know if folks there have any great ideas I should know about, hit problems, find it useful/useless, etc..

 

Let me know what you think.
  • Thanks 1
  • Upvote 3

Share this post


Link to post
Share on other sites

Yeah, Frank posted it on the Facebook group to wide acclaim.  I really appreciate your efforts on this.  I've used it on both my Helix units and had my IRs cleaned up in no time.

 

One question did come up in the Facebook group though as far as whether or not this was dependent upon your setlist export files coming from a certain level of firmware.  I'm pretty sure they changed the layout of the export files some time back, but I thought I'd ask you here if you know of any limits in that regard.

Share this post


Link to post
Share on other sites

This is excellent. 

 

I'm thinking it would be impossible to get the actual IR names, since Helix presets only store the IR number and pull from whatever IR is currently loaded in that slot. I wonder if there would be a way to upload the backup file and get the IR information from there and cross reference it to the IR numbers in each preset. I realize I probably just asked the computing equivalent of, "Why don't you just make a car that gets 900 mpg and seats 15?"

 

Have you thought of doing something similar with other effects blocks?

 

Share this post


Link to post
Share on other sites
15 hours ago, DunedinDragon said:

Yeah, Frank posted it on the Facebook group to wide acclaim.  I really appreciate your efforts on this.  I've used it on both my Helix units and had my IRs cleaned up in no time.

 

One question did come up in the Facebook group though as far as whether or not this was dependent upon your setlist export files coming from a certain level of firmware.  I'm pretty sure they changed the layout of the export files some time back, but I thought I'd ask you here if you know of any limits in that regard.

TBH, I did an uncharacteristic thing for me by releasing without researching and testing every possible thing, just got it out the door and into the wild. So, I'm not sure how old the firmware and editor can be and have it work.

 

It wouldn't surprise me if it fails with pre-snapshots versions, for instance. If anyone wants to check that out and let me know, have it it, If not, I'll check it myself when I get a chance.

 

However, I don't consider full support of versions that old a super high priority. If you're into Helix enough to be on the IR train, you probably want pretty recent firmware, and I have limited time to put into this. However, it could check the version of the files you drop (it's in there), and say what it needs.

 

The js preset parsing code actually started out in ColdFusion quite a whole ago, but I'm not sure what version Helix was on back then. The browser-only app got started when I found out you could do unzipping in javascript, so I didn't have to build an easily user-installable ColdFusion environment -- everyon'es got a browser, right? Ported the analysis code and came up with the UI over the past two weekends, but the parsing logic is the same as in CF except for language-specific stuff, so it goes back a fair few versions.

Share this post


Link to post
Share on other sites
4 hours ago, rzumwalt said:

This is excellent. 

 

I'm thinking it would be impossible to get the actual IR names, since Helix presets only store the IR number and pull from whatever IR is currently loaded in that slot. I wonder if there would be a way to upload the backup file and get the IR information from there and cross reference it to the IR numbers in each preset. I realize I probably just asked the computing equivalent of, "Why don't you just make a car that gets 900 mpg and seats 15?"

You're right, no IR names in setlist files, I wish.

 

Over on TGP I asked Frank if he could maybe get the Line 6 software crew to build some way to get the list of IR names. He said he forwarded my request, we'll see.

 

Far as getting them out of full backups, I'm sure it's possible if you know how to parse that file format, which I don't. Excuse if this is too techie an answer, but setlist files are JSON, which is pretty human readable, with a zipped array of presets inside, also in JSON format. Once I figured out the zipping part, they're just like individual preset files, and pretty readable. Full backups are binary data, genuine gibberish to me. I doubt they're intentionally obfuscated, most likely just the raw binary data the Helix works with internally, or maybe they're like setlist files but compressed differently. I made all that up though, no actual clue.

 

I've asked Line 6 about that format, no answer so far, don't really expect one. I bet they don't want to be responsible for software they don't write and test, or and don't want to support random developers they don't know building lord only knows what. They had nothing to do with this project either, just to be clear.

 

Quote

Have you thought of doing something similar with other effects blocks?

 

Yup. Actually built it in the ColdFusion version. It's not that hard once you're in this far. But there are some fundamental differences.

 

The big one is, what's the point, outside of idle curiosity about what you actually use?

 

The other thing is that IR slot numbers have an obvious meaning, where block types are indicated in these files by their internal names. IR blocks are HD2_ImpulseResponse1024 and HD2_ImpulseResponse2048 for example. They might be clear to us users, or not, no reason they should be, and I don't have access to a user-speak translation table.

 

In the end, I didn't see enough use for analysis of other block types to make space for it in the already pretty dense UI.

Share this post


Link to post
Share on other sites

Very cool tool.  Highly useful when wanting to experiment with new IRs without impacting existing presets. Just use currently unused IR slots.

 

Thanks.

Share this post


Link to post
Share on other sites
On 7/24/2018 at 6:29 PM, zooey said:

I made all that up though, no actual clue.

Ha ha. I feel like that describes roughly 75% of anything I ever say. I'm glad to be in good company.

Share this post


Link to post
Share on other sites

I had no problem using the url directly. I'm running Win10 with Firefox.

 

I initially had a problem using the link in your original post. I got a 404 then but it seems that has since been corrected.

Share this post


Link to post
Share on other sites

Are you saying the URL without www didn't work for you originally, but now it does? Or that you're now using the www version?

Share this post


Link to post
Share on other sites

Very nice, Zooey!

 

The only way I've found to get IR names associated is to supply a separate file that lists the IR names in their Helix IR slot order. With that, you can associate IR names with slot numbers.

 

Now, just remap IR slot numbers in the presets to their new locations after the Helix IR order changes and save those setlists back out to disk so they can be reloaded back into the Helix with new IR ordering, then I can retire my clunky command-line program that does this.

 

Share this post


Link to post
Share on other sites
56 minutes ago, bsd512 said:

Very nice, Zooey!

 

The only way I've found to get IR names associated is to supply a separate file that lists the IR names in their Helix IR slot order. With that, you can associate IR names with slot numbers.

 

Now, just remap IR slot numbers in the presets to their new locations after the Helix IR order changes and save those setlists back out to disk so they can be reloaded back into the Helix with new IR ordering, then I can retire my clunky command-line program that does this.

 

Thanks :)

 

And agree on getting IR names. Might add support for uploading such a file, but I'm not at all sure people would want to bother creating it. Asked Line 6 for a way (see above), we'll see, not counting on it.

 

The remapping wouldn't be that hard. One hang with that (besides some squeamishness about being responsible for modifying peoples patch data) is how to download the results. This is a browser-only app so far, and initial investigations haven't found a way for javascript to prompt for a file download without a cooperating server. My site does run ColdFusion (not used by this app), so I could handle it by uploading to the server and prompting you to download it from there, but I haven't given up on a js-only solution yet.

 

In my experience, this approach worked at first, then Chrome started blocking it, saying the page had attempted to download multiple files automatically. Makes sense, it is a security issue in a way. The FileSaver library he mentions looks quite promising, but there are problems with the current source code, and I wasn't able to get it running initially. Haven't given up though!

 

If anyone has any thoughts about that, or js file download in general, by all means bring em.

Share this post


Link to post
Share on other sites

May have a download solution...

 

If so...

- Do I really want to to offer modified setlist files?

- Would people be comfortable with that?

- You'd still have to reorder your IRs manually in Helix.

Share this post


Link to post
Share on other sites
54 minutes ago, zooey said:

May have a download solution...

 

If so...

- Do I really want to to offer modified setlist files?

- Would people be comfortable with that?

- You'd still have to reorder your IRs manually in Helix.

 

I do that with my scripts - the only thing I change is the IR slot number, then dump the resulting JSON. So far, Helix has had no issues loading them back in. Then again, I'm only doing it for my own personal use. If I mess up my own Helix, not big problem, I'd just reset to factory and reload from the backup I always do before doing this. I think I'd be a little hesitant to offer that as a service like you're doing - simply because if it would happen to go sideways for someone, it might be a pain. If you do it, you could always have a "use at your own risk" disclaimer.

 

On re-ordering the IRs manually in the Helix, that's not a big problem. I use the file system order as shown in the Mac Finder. When I update IRs, I just drag them into that directory, select them all, and load them in to the Helix - drag and drop all at once. Whatever order they show up in the filesystem is the order they are in the Helix. Makes it simple. That's also how I generate the old IR order list and the new IR order list. Again, it makes it real easy.

 

However, it ultimately might get a little more complicated. I've found that often I'll want to standardize on a set of IRs after trying them out for a good while, and during the remapping process, I'll automatically have my script replace one IR with another. It's not hard when I'm doing that for myself with my own tools, but that would get unnecessarily complex when doing it for the general case. And without that, remapping IRs wholesale would be a lot less useful, in my opinion.

 

What you have is really very good to give folks insight into how they are using IRs, and gives folks a chance to get right of IRs that are not used, or only used by 1 preset and similar. And that's a big step up from what is available with the Helix or even HX Edit directly.

 

Great job on the js page.

Share this post


Link to post
Share on other sites
HIRB is now up on GitHub.
 
Not a huge revelation, since it's just the HTML, JS, CSS, and img files you get when you browse to it, but at least it's there, and open for pull requests, issues, etc.. I don't promise to jump right on whatever you folks come up with, but still.
 
Hope it's still useful too :):)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×