Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 08-06-2018, 02:48 AM   #1
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default Track Wiring / Hackey Machines (Buzz inspired routing UI)

Hello all,

I will start this one off similarly as my other thread for the tracker. I don't know if anyone has migrated from Buzz or Psycle to REAPER, but if so, then this one might be for you. It's a relatively simple GUI plugin that allows adding and routing machines in a buzz/psycle-like workflow. Positions of your machines in the UI are stored in your RPP files.

Reapack compatible repository here: https://github.com/JoepVanlier/Hackey-Machines with a full description of how to use it.

Installation guide
(1. Install SWS)
2. Add repository https://raw.githubusercontent.com/jo...ster/index.xml to ReaPack.
3. Using Reapack, install "Hackey Machines Loader" and "Hackey Machines: An interface plugin for REAPER 5.x ..."
(4. Go to show action list and bind a key to OpenMachineView.lua)
5. When you open it for the first time, press F10 to customize your plugin loadout tree. These are the ones you will see in your outer mouse button list.
6. Press F1 for help


Highlight signal chain


Importing templates.


Manipulation of volume, panning, name, solo/mute status, to/from channel.


Deleting machines




Day theme

Note that in order to add machines from this interface, you have to make a list of machines you want available. You can edit this list by pressing F10 (I tested this for windows, but am not sure whether it works on Mac as well). This opens notepad with the file that needs customization. This file will not be overwritten by updates to Hackey Machines.

I'm still actively developing it, so if you run into a problem with it or have a feature request don't hesitate to ask. Please note that it is still relatively early in development, so save often!

Happy Routin'!
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]

Last edited by sai'ke; 08-12-2018 at 12:23 PM.
sai'ke is offline   Reply With Quote
Old 08-06-2018, 02:41 PM   #2
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default



- Added option to hide machines (F3 toggles show all/show only non-hidden).
- Tweaked visuals a bit.
- Tweaked auto-alignment algorithm a bit.
- Fixed bug that caused issues when loading same project as the one being worked on.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-06-2018, 03:24 PM   #3
Lunar Ladder
Human being with feelings
 
Join Date: Jan 2016
Posts: 859
Default

Just testing this over here, it's a fab beginning for an environment of this style in Reaper!

Obviously it's not very handy for large projects (trying it out with some scoring Kontakt templates, and pheeew), but it's not even meant for that, and instead it shines for making inspirational and more compact custom environments with tracks/effects laid out in a preferred way and waiting to be patched.

Some suggestions:

- When clicking on a bus/device, selecting that channel (i.e. making that channel active in the Reaper console, so that it can be followed up with scripts that target the selected channel) would be nifty. No need to hunt in the console if working in the Buzz-like view at that moment.

- Also, it would rock if it was possible to double click (or modifier-click) on a box representing a bus, and it didn't open the GUI of the first FX plugin on that channel, but actually another viewport done in this same style, representing the routing on that channel. Pretty much like this https://forum.cockos.com/showthread.php?t=209768 hah, maybe just add a call to MPL's script on the relevant channel for that one?

For the Buzz aesthetic aficionados, and for consistency's sake of course, it would still rock if this ^ was available as a part of this same project, all happening in a unified manner using this Buzz style GUI.

- Being able to add track templates to the module menu (for reacalling whole buses and routing configurations instead of just single devices) would be cool.

- Ultimately, for a self-contained vibe in this environment, a way to call Hackey Trackey (and alternatively the standard piano roll editor) for the currently selected track / device, select/insert/rearrange MIDI items on that track, and edit them right then and there... Would wrap this up as a full-fledged Buzz frontend for Reaper . I know, I know, it's kind of a tall order, hahh. And mostly fueled by pure nostalgia.

But man, with Hackey, you are already on such a firm path, and set the bar high to begin with
Lunar Ladder is offline   Reply With Quote
Old 08-07-2018, 04:09 PM   #4
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Oooh those are all great ideas! Thanks!
I've added each of them to my github to-do list

The first one I tackled today, along with multi-select. Multi-delete and Hide for groups is still not implemented, but will be.


The bus thing I will probably stick under a modifier, but calling MPL's script (at least for now) is probably a good idea for this. Maybe I can mess with the theming a bit to keep it in a more consistent style.

Also, just for my curiosity, what did the big project look like? A giant hairball?
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-07-2018, 06:57 PM   #5
Lunar Ladder
Human being with feelings
 
Join Date: Jan 2016
Posts: 859
Default

Thanks! Great to hear . And hah, about the hairball, a "ball of stuff" was more like it, as the solver for the module locations and wires just couldn't handle that load, so it didn't get to the point where the wires are actually showing. Reaper screen refresh dropped to about one single frame per 3.3 seconds, so pressing the enter key for moving the modules didn't quite do anything either (on an i7-3770K system), and the view was showing this:

https://i.imgur.com/eRoEgfP.png

It didn't crash, and everything went back to normal when closing the window.

But yeah, don't worry about it, as showing and managing hundreds of tracks (close to a thousand) at once on a Buzz-like visual display is not a real world use case at all. I mentioned it as an absurd stress test, and the concept works for intended types of projects very well.
Lunar Ladder is offline   Reply With Quote
Old 08-08-2018, 06:14 AM   #6
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Thank you much for sharing!
It's good routing UI but looks a bit messy yet (less "beauty" more convenience if your goal to use it as instrument)
Menu with fx doesn't show my one (it's your I guess)
Why you do repository on each project?)
And what the heck is going on with your title man?) You've got a few name on one project I mean on forum and git and file itself)
Sorry for criticism) Cheers!)
Ivannn Bennnettt is offline   Reply With Quote
Old 08-08-2018, 06:31 AM   #7
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

@Lunar Ladder; Ah, there was a bug in that simulation code in my first commits actually. But it might still not work for projects that big regardless. I see this more as a tool for doing small to medium scale experiments and that when you are seriously scoring things, you should probably stick to the linear interface

@Ivannn Bennnettt; Yeah, it's not the prettiest, I agree. I've just gotten so used to working like this that I really miss this workflow sometimes. Especially when jotting things down quickly, this type of setup is pretty inspiring / rapid for me. About the looks, well, function first. Then maybe we can tweak the form a bit more. It will probably always have a bit hairballiness to it

Yes. I did not find a way (yet) to poll the full user machine list / favourites, nor do I know whether it would make sense to really dump all machines into such a dropdown. Hence you have to edit it by hand. If you are on windows, press F10 to edit this list. If you are on mac/linux, you will have to edit the FX_list.lua file in the script folder by hand. It's just a relatively simple nested list of names. You can pick what you like and how you want to organize them.

I do a repo per project so that I can keep a separate page with usage instructions for each of them and track issues per project easily. When all of them are fully featured and stable I will probably combine them in a single repo.

Huh? I'm not sure what you mean about the title? I have one thread per project? Hackey Trackey, Hackey Patterns and Hackey Machines are separate projects / interfaces that don't depend on each-other. I want to make the tracker, sequencer and machine view usable as standalone, without depending on the other.

I had some images of this projects on the Hackey Trackey thread, before I had something ready for release, but HT is its own separate thing.

Sometimes, threads can suddenly move fast, and it's hard to keep track of things when the topic changes often. I hope it's not seen as obnoxious that I opened a separate thread for this.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-08-2018, 07:57 AM   #8
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Quote:
Originally Posted by sai'ke View Post
Huh? I'm not sure what you mean about the title? I have one thread per project? Hackey Trackey, Hackey Patterns and Hackey Machines are separate projects / interfaces that don't depend on each-other. I want to make the tracker, sequencer and machine view usable as standalone, without depending on the other.
On forum it's "Hackey Machines" file's "MachineView" with jfx's same stuff
Quote:
Sometimes, threads can suddenly move fast, and it's hard to keep track of things when the topic changes often. I hope it's not seen as obnoxious that I opened a separate thread for this.
Nope, at all)
Ivannn Bennnettt is offline   Reply With Quote
Old 08-10-2018, 10:06 PM   #9
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Wow
I am away from my computer for a week ..once back this is the first script I want to install .really excited and looking forward
Thank you
zookthespook is offline   Reply With Quote
Old 08-11-2018, 06:50 PM   #10
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Been hard at work this weekend

Some highlights:
+ Had an issue with machine deletion not properly propagating folder-depth (special thanks to Meta for helping me out with this one).
+ Added undo/redo/save/load shortcuts.
+ Template support!
+ Added automatic alphabetical sorting of instruments and templates.
+ Improved dark theme (switch with F5)
+ Made sure master keeps name "MASTER"
+ Made delete behaviour more buzz-like (deleting a machine removes all connections).
+ Added controls to change source and dest channel.
+ Display panning 0L(eft) as C(enter).
+ Added help under F1.
+ Added multi-delete and multi-hide.
+ Add selection ability.
+ Fixed bug with arrows taking precedence over block on top of them.
+ Minor tweak simulation algorithm to ignore unmatched machines.


Importing templates.


Manipulation of volume, panning, name, solo/mute status, to/from channel.


Deleting machines
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-11-2018, 07:47 PM   #11
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Ok, this is already fuckin sweet. Very promising. But I do have some suggestions... Honestly, I'm not sure how much I'll need the upcoming modular routing system now that this exists. The routing in Buzz is something that I've missed a lot. Thanks so much for this!

So, my wish list:
1. Highlight the wires from the selection to the master when hovering over wires or machines.
2. Alt+click for disconnecting wires and deleting machines (maybe alt+double-click for that?)
3. Not sure what this context menu is, but I'd prefer it was just the normal plugin list I would get when right-clicking a track's fx button.
4. I frequently use Esc key to toggle close all floating windows in Reaper, but this window prevents it from working if it's open.
5. Zoom should center on the mouse.
6. Right/middle click to drag the view around would be really handy, esp combined with request #5.
7. Should behave like any other window in regards to dragging it to screen edges for various Windows behaviors.
8. Open-window action should be a toggle and Also, it should remember it's position very well when re-opening.
9. In/out "nodes" on machines, for making connections (in addition to shift-click)

These features would pretty much make it my ideal routing tool, but thanks again for making this!!

EYEHEARTBUZZ!!!
__________________
foxyyymusic
foxAsteria is offline   Reply With Quote
Old 08-11-2018, 09:42 PM   #12
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 753
Default

I just tried it out.
Diggin it a lot.

The only issue I had was that it doesn't remember being docked.
Ozman is offline   Reply With Quote
Old 08-12-2018, 10:34 AM   #13
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Thanks for the positive reactions guys

There were some pretty major changes, and I had a little fight with Reapack over renaming my files

Because of this, I would highly recommend uninstalling the old version, then reinstalling the machine view plugin. There are now two things that need to be installed. Hackey Machines and Hackey Machines Loader. The Loader (OpenMachineView) is the one you want to bind to a key.

Quote:
Originally Posted by Lunar Ladder View Post
- Also, it would rock if it was possible to double click (or modifier-click) on a box representing a bus, and it didn't open the GUI of the first FX plugin on that channel, but actually another viewport done in this same style, representing the routing on that channel. Pretty much like this https://forum.cockos.com/showthread.php?t=209768 hah, maybe just add a call to MPL's script on the relevant channel for that one?
For now, I added a call to MPL's script when you do Ctrl + double click on a machine (for this it needs to be installed!).

Quote:
Originally Posted by foxAsteria View Post
1. Highlight the wires from the selection to the master when hovering over wires or machines.

Quote:
Originally Posted by foxAsteria View Post
2. Alt+click for disconnecting wires and deleting machines (maybe alt+double-click for that?)
Middle click is for disconnecting machines and deleting stuff.
Quote:
Originally Posted by foxAsteria View Post
3. Not sure what this context menu is, but I'd prefer it was just the normal plugin list I would get when right-clicking a track's fx button.
Yeah, me too, but I don't know of any good way to achieve this.
Quote:
Originally Posted by foxAsteria View Post
4. I frequently use Esc key to toggle close all floating windows in Reaper, but this window prevents it from working if it's open.
Added.
Quote:
Originally Posted by foxAsteria View Post
5. Zoom should center on the mouse.
Fixed.
Quote:
Originally Posted by foxAsteria View Post
6. Right/middle click to drag the view around would be really handy, esp combined with request #5.
Middle mouse drags.
Quote:
Originally Posted by foxAsteria View Post
7. Should behave like any other window in regards to dragging it to screen edges for various Windows behaviors.
I don't know whether this is possible with the API, but I don't know how to do it.
Quote:
Originally Posted by foxAsteria View Post
8. Open-window action should be a toggle and Also, it should remember it's position very well when re-opening.
Added. Because of this, I would highly recommend uninstalling first, then reinstalling the machine view plugin. There are now two things that need to be installed. Hackey Machines and Hackey Machines Loader. The Loader is the one you want to bind to a key.
Quote:
Originally Posted by foxAsteria View Post
9. In/out "nodes" on machines, for making connections (in addition to shift-click)
What do you mean? To assign different channels? Channels can be changed when you click with the outer mouse button on a connection.

Quote:
Originally Posted by Ozman View Post
The only issue I had was that it doesn't remember being docked.
Should be fixed now
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-12-2018, 11:13 AM   #14
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Wow.
.

.

.

Wow.
IXix is online now   Reply With Quote
Old 08-12-2018, 11:52 AM   #15
Lunar Ladder
Human being with feelings
 
Join Date: Jan 2016
Posts: 859
Default

Quote:
Originally Posted by sai'ke View Post
Been hard at work this weekend
I want to highlight a fun coincidence about this ^ ... I came to check on this thread today, saw the new screenshots in the first post, and I was going to write a new reply with the exact phrase "Wow, seems you've been hard at work!" ... Then I read you actually saying the same thing and chuckled

Thanks for putting in the effort!

So yeah, this rocks more and more, it's moving to a very interesting and functional direction imo. Template support, yayyyy

Going to test this hands on again very soon.
Lunar Ladder is offline   Reply With Quote
Old 08-12-2018, 01:52 PM   #16
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Quote:
Originally Posted by Lunar Ladder View Post
I want to highlight a fun coincidence about this ^ ... I came to check on this thread today, saw the new screenshots in the first post, and I was going to write a new reply with the exact phrase "Wow, seems you've been hard at work!" ... Then I read you actually saying the same thing and chuckled
Hahaha

Quote:
Thanks for putting in the effort!
No prob.

Added ability to manipulate recording status.


Control + R to enable recording only for selection.
Or click the corners of the ones for which you want to enable recording.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-12-2018, 04:06 PM   #17
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Quote:
Originally Posted by foxAsteria View Post
3. Not sure what this context menu is, but I'd prefer it was just the normal plugin list I would get when right-clicking a track's fx button.
I found a way to parse the categories at least. Use shift+right mouse button to access this menu instead of the user defined menu.

I would still recommend making your own though (F10 to customize it). The reason is that for the reaper built in groupings, there's no guarantee that it'll work for everyone, since the data is spread over many files and the formats are different. There also seems to be some name mangling going on in certain places but not others.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]

Last edited by sai'ke; 08-12-2018 at 05:37 PM.
sai'ke is offline   Reply With Quote
Old 08-12-2018, 07:22 PM   #18
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Holy crap dude...I can't believe how you already blasted through my list like some kind of magical code genie! Simply amazing. Thanks! Lemme try this out now...

EDIT: Oh man, such good stuff here. The signal flow animations are going to be SO helpful!

I love that there is a feature called "weird stuff," even if I don't yet know what it does... Heheh.

Ok, so lemme explain try to my issues a bit better (while trying not to be too demanding ):
1. I failed to read the very instructive instructions before use , so apologies.
2. The window now passes esc, so I can toggle other windows, but I actually meant that I want to also close this window with esc. My workflow generally involves opening floating Reaper windows like this one full-screen (or many small ones, arranged around the screen) and hitting esc to toggle hiding them, but this window behaves differently and becomes a roadblock to my normal workflow. Only way to close it when in focus is with the mouse. As well, none of my normal shortcuts work while this window is open.
3. On that same note, the toggle action to close the window can't be run from keyboard shortcut because the window steals focus. Perhaps it could be made to pass all keyboard shortcuts to the main window, apart from those it's using?
4. What I meant by in/out nodes: I'm lazy to do a mockup, but I picture small circles along two opposite sides of the machine boxes, one for each plugin channel; ins on one side and outs on the other. I don't know if you planned to expand the routing wires to also describe the pin connections, or if that's quite a lot of work or even possible, but it would be tremendously useful.
5. I can of course get used to middle mouse drag and middle clicking; I only requested those options because they either conflict with my workflow (I use right click drag navigation in Reaper and several other programs), or with Reaper standards (alt click to delete/disconnect). In use, I'm finding it's very easy to accidentally delete things when I accidentally click the middle mouse while scrolling to zoom or middle-click-dragging the view. Undo is cool for this, except it restores the deleted machine to some other location, which is confusing. And since you can drag the view and delete them in the same motion, easy to miss.
6. Zoom is a bit slow. Any chance of some 2x or 4x options?
7. Some sort of grid snapping would help to keep things organized.
8. Middle clicking the MASTER track crashes the script.
9. An option to hide the wires altogether (except when hovering the cursor), could be helpful in organizing big projects, as they tend to be massive spiderwebs.
10. If the machines could show the track color when displaying the track name, that would also be great for organization. Like, 50% opacity over the whole thing would be prolly be great. Or even just a full opacity bar or square indicator.
11. Changing the level/pan volumes etc is very fast. Can it be less sensitive or fine-tune-able?
12. And as a final nitpick, I think the letters DEL would be more clear and obvious an abbreviation than REM.

Sorry if I'm being overwhelming with my enthusiasm and abundant suggestions... Thanks for hearing my them and providing this very exciting tool! I hope that even those unfamiliar with Buzz can also appreciate how cool it is to do routing this way. Maybe it looks crazy to the uninitiated, but for me it's like coming home. And more importantly, improved, as with this ability to see the signal flow!

Really rockin work here, dude! Thanks as well for the PM, cluing me in about its existence!
__________________
foxyyymusic

Last edited by foxAsteria; 08-12-2018 at 08:53 PM.
foxAsteria is offline   Reply With Quote
Old 08-13-2018, 01:57 AM   #19
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Thank you
Ivannn Bennnettt is offline   Reply With Quote
Old 08-13-2018, 04:16 PM   #20
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

+ Hackey Trackey Integration ==> Shift + Double LMB opens a Hackey Trackey on the selected track at the current song position.
+ Added optional grid snapping
+ Check if old position exists before randomizing (makes sure that undo maintains position).
+ Minor usability improvements
+ Renamed REM to DEL
+ Preventing deleting MASTER
+ Faster zooming
+ Slower dial motions when holding shift and control

Quote:
Originally Posted by foxAsteria View Post
Holy crap dude...I can't believe how you already blasted through my list like some kind of magical code genie! Simply amazing. Thanks! Lemme try this out now...
No prob
Quote:
Originally Posted by foxAsteria View Post
2. The window now passes esc, so I can toggle other windows, but I actually meant that I want to also close this window with esc. My workflow generally involves opening floating Reaper windows like this one full-screen (or many small ones, arranged around the screen) and hitting esc to toggle hiding them, but this window behaves differently and becomes a roadblock to my normal workflow. Only way to close it when in focus is with the mouse. As well, none of my normal shortcuts work while this window is open.
Yeah, this is quite annoying. But sadly, something I cannot fix at the moment. There is no method for passing shortcuts back to the main window. If this ever becomes available in the API, I will add it immediately.
Quote:
Originally Posted by foxAsteria View Post
3. On that same note, the toggle action to close the window can't be run from keyboard shortcut because the window steals focus. Perhaps it could be made to pass all keyboard shortcuts to the main window, apart from those it's using?
I could add a 'close window' command. If you make it the same as the toggle, we could at least fix that. What key combo would make sense for this?
Quote:
Originally Posted by foxAsteria View Post
4. What I meant by in/out nodes: I'm lazy to do a mockup, but I picture small circles along two opposite sides of the machine boxes, one for each plugin channel; ins on one side and outs on the other. I don't know if you planned to expand the routing wires to also describe the pin connections, or if that's quite a lot of work or even possible, but it would be tremendously useful.
This is just track routing. There's no pins there yet. If you want to see the bus pins, install MPL's routing script and do ctrl + double click on a bus or machine in the routing window. It is something I am considering in the future, but it will be a while before I do this.
Quote:
Originally Posted by foxAsteria View Post
5. I can of course get used to middle mouse drag and middle clicking; I only requested those options because they either conflict with my workflow (I use right click drag navigation in Reaper and several other programs), or with Reaper standards (alt click to delete/disconnect). In use, I'm finding it's very easy to accidentally delete things when I accidentally click the middle mouse while scrolling to zoom or middle-click-dragging the view. Undo is cool for this, except it restores the deleted machine to some other location, which is confusing. And since you can drag the view and delete them in the same motion, easy to miss.
Undo forgetting the position is fixed
But yeah, I should probably add customizable mappings in the future, like I did for Hackey Trackey. Could you based on the F1 menu, give me a full list of what'd make sense to you? So I can see how different mappings might fit together?
Quote:
Originally Posted by foxAsteria View Post
6. Zoom is a bit slow. Any chance of some 2x or 4x options?
Zoom is now faster by default. There's also Pg Up and Pg Down to instantly zoom to two specific levels. Ctrl + Scrollwheel zooms slower.
Quote:
Originally Posted by foxAsteria View Post
7. Some sort of grid snapping would help to keep things organized.
Added.
Quote:
Originally Posted by foxAsteria View Post
8. Middle clicking the MASTER track crashes the script.
Fixed.
Quote:
Originally Posted by foxAsteria View Post
9. An option to hide the wires altogether (except when hovering the cursor), could be helpful in organizing big projects, as they tend to be massive spiderwebs.
On the to-do list.
Quote:
Originally Posted by foxAsteria View Post
10. If the machines could show the track color when displaying the track name, that would also be great for organization. Like, 50% opacity over the whole thing would be prolly be great. Or even just a full opacity bar or square indicator.
Good one. Still on the to-do list.
Quote:
Originally Posted by foxAsteria View Post
11. Changing the level/pan volumes etc is very fast. Can it be less sensitive or fine-tune-able?
Yes! Added ctrl and shift modifiers to allow more precise movements (they stack).
Quote:
Originally Posted by foxAsteria View Post
12. And as a final nitpick, I think the letters DEL would be more clear and obvious an abbreviation than REM.
Done
Quote:
Originally Posted by foxAsteria View Post
Sorry if I'm being overwhelming with my enthusiasm and abundant suggestions... Thanks for hearing my them and providing this very exciting tool! I hope that even those unfamiliar with Buzz can also appreciate how cool it is to do routing this way. Maybe it looks crazy to the uninitiated, but for me it's like coming home. And more importantly, improved, as with this ability to see the signal flow!
Nah, it's cool. I appreciate the enthusiasm.

I won't have much time to code on these projects in the coming few weeks, but don't think the project is dead after that, I will return to it!
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-13-2018, 06:36 PM   #21
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default blanking glitch in 0.41 on Linux

I'm not sure if you prefer bug reports here or github...
I'm running Reaper 5.941 on Linux (the native compile, not through wine).

The first problem I've discovered is when I select an area, the canvas blanks out:



Secondly, when I select 'rename' from the machine options, the canvas similarly blanks out until I input at least one character.

__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Old 08-14-2018, 01:46 AM   #22
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Huh, now that's an interesting bug!

I don't have the reapack indexer here so I can't push the XML file that will trigger the update from here at the moment.

Can you check whether this one works? https://raw.githubusercontent.com/Jo...eView_exec.lua

Here or github is fine.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]

Last edited by sai'ke; 08-14-2018 at 02:30 AM.
sai'ke is offline   Reply With Quote
Old 08-14-2018, 07:27 AM   #23
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

This is looking wayyy promising. Very cool stuff.

Maybe some moving hard dashes for distinguishing MIDI from audio?
__________________
It's time to take a stand against the synthesizer.

Last edited by brainwreck; 08-14-2018 at 08:36 AM.
brainwreck is offline   Reply With Quote
Old 08-14-2018, 11:49 AM   #24
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Dude, seriously, you rock! Thanks!

Quote:
Originally Posted by sai'ke View Post
I could add a 'close window' command. If you make it the same as the toggle, we could at least fix that. What key combo would make sense for this?
I use ctrl+shift+alt+letter combos for opening windows, so I used ct+sh+alt+m for this one. But ideally (for me) esc would close the window, since I'm automatically trying to do that already. I do like how it closes the floating plugins currently, so is it possible that esc does both (close plugins and then window if no plugins are floating)?


Quote:
Originally Posted by sai'ke View Post
But yeah, I should probably add customizable mappings in the future, like I did for Hackey Trackey. Could you based on the F1 menu, give me a full list of what'd make sense to you? So I can see how different mappings might fit together?
Yea total customization is the way to go, but for me personally, the only changes would be the ones I originally mentioned; alt+click for deleting/disconnecting instead of middle click ( which is easy to press by accident, hard to hold down at the same time as LMB). And right click drag to navigate. Also, I guess I would be opening the fx chain more often than a single plugin gui, so would switch that to the default double click behavior.

Can't wait to show this to my sister. She was using Buzz before too, so now she won't be intimidated by routing anymore!

Had some kind of bug in the new version with hiding machines. If any are hidden, none will show when you open the window. Maybe related to the bug reported by kmkrebs, cause it seems fixed in the one you posted just above.

I notice that other scripted windows also block keyboard shortcuts (not just yours). So this API functionality you mentioned is missing needs to be requested. I'll look into it, but I'm not 100% sure what to ask for (if there isn't an FR already). Just the ability to automatically pass unused keyboard shortcuts to the main window? Or something else?


One more request if you have time: ctrl+marquee select to add to current selection

Ok, two more... When hovering over the triangles in the middle of the wires, could it highlight only that wire? Then making disconnections in a mess of spaghetti becomes feasible.
__________________
foxyyymusic

Last edited by foxAsteria; 08-14-2018 at 12:29 PM.
foxAsteria is offline   Reply With Quote
Old 08-14-2018, 04:28 PM   #25
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

+ Added ctrl + marquee for multiselect
+ Added (optional) use of track colors.
+ Added system that will allow to use multiple key/mouse bindings (although there is no front end yet!).
+ Added doubletap escape = close window
+ Added hover over signal cables to visualize signal cable.
+ Swapped default behaviour doubleclick (now opens FX chain)

@foxAsteria, Yeah, I found that bug while looking at kmkrebs's bug
They weren't related, but fixed in the same commit.

I can't detect whether any floating windows exist, but I did add a shortcut which if you doubletap escape quickly, it will close the main window. Single press will still close the floating windows. Hope this works for you.

I think the passthrough has come up in the feature requests before. And yeah, that would pretty much be it.

I have put the groundwork in for different keymappings, replacing hardcoded keys with references to a map, but haven't included any alternatives yet.
Tomorrow I might have a little time to look at this, but after that I will be preoccupied with some other work for a few weeks. I will get back to this project afterwards though. In case you get impatient regarding rebinding the keys, the mappings are at the top of the script, and should be relatively easy to edit now.

It looks something like this. It's basically a map with all the modifier options (LMB = left mouse button, MMB, middle etc). 0 means the modifier has to be off for this to be triggered. 1 means it must be on, 2 means it can be in any state. Keycodes you won't need unless you start adding things that involve the keyboard. nil just means no key involved.
Code:
-- 0 must be off, 1 must be on, 2 = don't care; keystroke nil means, don't check
--                               LMB   RMB   MMB   DBL   CTRL    ALT   SHIFT   Keycode
keys.openSinkControl    = {        1,    2,    2,    2,     2,     2,      2,      nil }    -- lmb
keys.openSinkControl2   = {        2,    1,    2,    2,     2,     2,      2,      nil }    -- rmb
If you decide to make your own layout (and tested it), I can easily add it as an option. The plan is to eventually have a few layouts that work between which one can choose.

@brainwreck; I would also like to display midi data, but for now, the currently playing midi notes/command don't seem to be accessible from lua as far as I can see. I might have some idea how this could be accomplished despite this, but this will have to wait until I have time to work on this project again in a few weeks.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-14-2018, 04:49 PM   #26
semiquaver
Human being with feelings
 
Join Date: Jun 2008
Posts: 4,923
Default

WTF!



awksome...
semiquaver is offline   Reply With Quote
Old 08-14-2018, 05:04 PM   #27
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default

Ok, the rendering is fixed when I select an area. no problems there anymore.

However, renaming is only partly fixed.

I can successfully rename "machines" that have been created directly as a new track in Reaper, but if I add something through the menu in hackey-machines, it still has the same problem as before.

__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Old 08-14-2018, 05:40 PM   #28
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Quote:
Originally Posted by sai'ke View Post
I did add a shortcut which if you doubletap escape quickly, it will close the main window. Single press will still close the floating windows. Hope this works for you.
Perfect! Thanks so much! This puts things in a very usable state for me, so I'll be testing a lot more extensively in the coming weeks. Man, it's so cool how easy ReaPack makes it to test and update stuff like this. Can't believe how quickly you put this together, or indeed that someone still exists to appreciate the workflow of Buzz enough to take the time! G/L with your other projects!
__________________
foxyyymusic
foxAsteria is offline   Reply With Quote
Old 08-15-2018, 03:24 AM   #29
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Quote:
Originally Posted by kmkrebs View Post
Ok, the rendering is fixed when I select an area. no problems there anymore.

However, renaming is only partly fixed.

I can successfully rename "machines" that have been created directly as a new track in Reaper, but if I add something through the menu in hackey-machines, it still has the same problem as before.

Thanks! It seems that something weird happens when the string is empty. I think I properly fixed it now. Again, I can't run reapack-indexer from here, so if you want to try it before tonight, download it straight from the github

I also noticed that the enter keystroke initiated the spring simulation for you. That's not intended and I could imagine it getting annoying fast. Therefore I changed the key combination for simulation to CTRL + ENTER now.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-15-2018, 05:53 AM   #30
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

you are one of my heros here
cool tool

a little nitpick
mastertrack obeys muting but can't be set to non-mute or non-solo (solo set non-mute) via machine
bobobo is offline   Reply With Quote
Old 08-15-2018, 09:07 AM   #31
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

Quote:
Originally Posted by sai'ke View Post
I also noticed that the enter keystroke initiated the spring simulation for you.
What is this spring simulation?
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 08-15-2018, 09:23 AM   #32
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Quote:
Originally Posted by brainwreck View Post
What is this spring simulation?
Something that spreads out the blocks. It's meant for when things are initially a bit kludgy (you might see for instance that when you open a project for the first time, the blocks sort of jiggle into place).

Two forces act on the blocks:
1. A spring force, where every connection between two blocks is considered as a spring pulling them together.
2. A repellent force between all blocks which pushes blocks apart. This force decreases faster with distance than the spring force (quadratically in this case).

This system can then be simulated with a verlet algorithm which puts the blocks in non-overlapping but reasonably close positions.

It's a very simple technique and more advanced stuff exists for placing graph structures, but this seemed like a decent enough start that wouldn't cause too many hard to debug corner cases. Hitting CTRL + Enter will make it do a few iterations of the verlet algorithm if you're interested in seeing what it does.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-15-2018, 11:20 AM   #33
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

Thanks for the explanation.
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 08-15-2018, 03:23 PM   #34
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

Quote:
Originally Posted by bobobo View Post
you are one of my heros here
cool tool

a little nitpick
mastertrack obeys muting but can't be set to non-mute or non-solo (solo set non-mute) via machine
Fixed! And thanks!

Quote:
Originally Posted by brainwreck View Post
Thanks for the explanation.
No prob
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-15-2018, 05:09 PM   #35
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default

You will be happy to know that after a few tests here, the renaming/blanking issue seems to be resolved on my linux system.

As for the spring simulation, I had no idea it did that, I just hit enter too many times while renaming.

Again, thank you for this incredible script and your rapid efforts to get things fixed.
__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Old 08-15-2018, 06:45 PM   #36
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default

Something I just noticed, and I'm not sure if it's the intended behaviour or a bug.

If I add a machine, the corresponding track in Reaper's interface is unnamed. As soon as I rename the machine, it updates the name in the track-view.



Also, a little feature request: when editing the volume and/or pan, would it be possible to reset to default settings by double clicking? IE: Double click on pan, and it resets to Center.
__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Old 08-16-2018, 08:01 AM   #37
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

sai'ke, I'm wondering if it is in your plans down the road for providing more specific connections. In other words: trackA out 1/2 ----> effectA in 1/2 ----> ...
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 08-17-2018, 07:02 PM   #38
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default JS effects in "FX_list.lua" on Linux

I seem to be having a problem with adding JS effects in the FX_list. For example:

Code:
    Filter = {
      "FilterBank3",
      "Tal-Filter",
      "Tal-Filter-2",
      "ReaFir",
      "JS: Chebyshev 4-Pole Filter",
      "JS: Moog 4-Pole Filter",
      "JS: Butterworth 4-Pole Filter",
      "JS: State Variable Morphing Filter"
    },
All the VSTs at the beginning of the list load successfully, but the JS will not. I've made certain they exist & I can load them through regular means. I've tried removing the preceding "JS:" text from the names, but that doesn't help.

This is on my linux install, which I'm guessing might be part of the issue?

Any ideas?
__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Old 09-17-2018, 01:36 PM   #39
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

I'm back!

@kmkrebs
The rename behavior is intentional. I thought it would make most sense to keep them the same to avoid confusion. Makes it easy to find which track you are clicking and vice-versa. I could add an option to allow them to be different, if you think that makes more sense for your workflow.

I added the reset to default option when you double-click.

This is strange, it seems that this happens for effects (also VSTs) with a space in the name. Also happens for me on windows. I will get on investigating this issue. Can you try adding a ReaEq (I just tested that one, it is a JSFX and it seems to work)? The entry that I have for that one is just "ReaEq".

@brainwreck
Unsure for now. I mean, you can change the channels (notice the from/to dials, they are the channels). When the from/to don't exist, click outer mouse on the signal cable and click "SEND", this will change the send from a simple parent/child to a specific send where you can edit audio channel options.

As for within track (which is now represented as a single block), I'm not sure yet. Currently, you can open MPL's wired chain script with ctrl + double click on a track to edit that track's routing.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 09-18-2018, 04:18 PM   #40
kmkrebs
Human being with feelings
 
kmkrebs's Avatar
 
Join Date: Aug 2006
Location: Vancouver, BC
Posts: 29
Default

Quote:
Originally Posted by sai'ke View Post
I'm back!
This is strange, it seems that this happens for effects (also VSTs) with a space in the name. Also happens for me on windows. I will get on investigating this issue. Can you try adding a ReaEq (I just tested that one, it is a JSFX and it seems to work)? The entry that I have for that one is just "ReaEq".
The rename behaviour is no big deal, I simply wasn't sure if it was intentional or not.

As for the FX_list, adding ReaEq works fine. Maybe something with the spaces, although I haven't noticed the same problem on any of the VSTs I've got in there. Good luck!
__________________
K.M.Krebs | earsopen podcast
kmkrebs is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:32 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.