dbagchee / helix-preset-viewer Goto Github PK
View Code? Open in Web Editor NEWA web-based viewer for Helix presets.
License: MIT License
A web-based viewer for Helix presets.
License: MIT License
Paths are aligned center currently independently. Therefore blocks across paths aren't necessarily in the correct order depending on how you view it.
I imagine something closer to HX Edit:
B1-B2-Split-------B6----Merge-B8-B9
. . . . . . . . . L B4-B5----B7 โ
We all love expression pedals, would be awesome to show assignment!
I believe the following is an example of Expression/Footswitch pedals being assigned. HX Effects also can do amp switching on the Expression 1/2 outs so I'll need to pull out that data to review to see if it changes the data.
"tone" : {
"controller" : {
"dsp0" : {
"block1" : {
"Pedal" : {
"@controller" : 2,
"@max" : 1.0,
"@min" : 0.0
}
},
"block3" : {
"Pedal" : {
"@controller" : 2,
"@max" : 1.0,
"@min" : 0.0
}
}
}
},
Could this be computed when we load the array from file?
Add full amp model list to hxModels.
Would be cool to see:
Would be cool to see the intended Footswitch Assignment and custom labels/colours/etc.
Below is an example of footswitch assignment, separate from the tone blocks. Almost would have to load this into a separate array for footswitch blocks, and then look up the values. Based on this design, the block number can probably be the key for lookup so in my theoretical thinking it could be easy.
"footswitch" : {
"dsp0" : {
"block0" : {
"@fs_enabled" : true,
"@fs_index" : 3,
"@fs_label" : "Impulse Response",
"@fs_ledcolor" : 16711720,
"@fs_momentary" : false,
"@fs_primary" : true
},
"block1" : {
"@fs_enabled" : true,
"@fs_index" : 2,
"@fs_label" : "Volume Pedal",
"@fs_ledcolor" : 65408,
"@fs_momentary" : false,
"@fs_primary" : true
},
"block2" : {
"@fs_enabled" : true,
"@fs_index" : 4,
"@fs_label" : "Gain",
"@fs_ledcolor" : 65408,
"@fs_momentary" : false,
"@fs_primary" : true
},
"block3" : {
"@fs_enabled" : true,
"@fs_index" : 5,
"@fs_label" : "Pan",
"@fs_ledcolor" : 65408,
"@fs_momentary" : false,
"@fs_primary" : true
},
"block4" : {
"@fs_enabled" : true,
"@fs_index" : 6,
"@fs_label" : "Stereo Width",
"@fs_ledcolor" : 65408,
"@fs_momentary" : false,
"@fs_primary" : true
},
"block5" : {
"@fs_enabled" : true,
"@fs_index" : 1,
"@fs_label" : "Send 1",
"@fs_ledcolor" : 65408,
"@fs_momentary" : false,
"@fs_primary" : true
}
}
},
This one is a thinker. I would prefer tabs at the top with the snapshots able to be selected.
Another thought I had was maybe when we click on a block, it would draw the parameters. And each snapshot could be its own column in the resultant table.
This would probably serve HX Effects/HX Stomp/Potential future products in Helix family better than the Helix Floor/LT. However, just to clean up, I'd like to see unused preset paths hidden! Feel free to close if you disagree.
Will make commits/merges easier - I'm trying to avoid needing a build script though. Need to do a little research on best way to break out the Vue stuff.
Formally getting this up here.
Each DSP section on Helix presets has inputs/outputs. Load these into whats shown for intended routing. These blocks don't have an @position parameter so I believe it's oustide of the scope of #15
Example:
"outputB" : {
"@model" : "HD2_AppDSPFlowOutput",
"@output" : 1,
"pan" : 0.5,
"gain" : 0
},
"inputA" : {
"@input" : 0,
"@model" : "HD2_AppDSPFlow1Input",
"noiseGate" : false,
"decay" : 0.5,
"threshold" : -48
},
Help out with routing :)
I know there are different split types as well, so these would need to be captured.
"join" : {
"@model" : "HD2_AppDSPFlowJoin",
"B Pan" : 0.5,
"B Level" : 0,
"A Level" : 0,
"A Pan" : 0.5,
"@position" : 8,
"Level" : 0,
"@enabled" : false,
"B Polarity" : false
},
"split" : {
"BalanceA" : 0.5,
"@model" : "HD2_AppDSPFlowSplitY",
"@enabled" : true,
"bypass" : false,
"@position" : 0,
"BalanceB" : 0.5
},
I thought this may be a good one for me to get my head around how this project works, and as a good precursor to #35
If the block is not enabled they it should be greyed out per the helix
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.