Old 05-17-2020, 05:06 PM   #81
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by ThrashJazzAssassin View Post
This is what's happening now on windows[...]
hmm. i *think* that looks about right. after 'factory default', reset 4x sets the size of the big buffer to 4 times the default 1 second delay, so 4 sec. the visible range of the delay time slider is 16 sec. so clicking anywhere above 1/4 of the 16 sec slider exceeds the 4 sec limit and is halved until it is less than that. so the delay time slider will never display a value more than the big buffer size, and snaps back to the correct position if you try to set a delay time more than that. is that what you see happening TJA?
bang is offline   Reply With Quote
Old 09-17-2020, 09:58 AM   #82
gwatch
Human being with feelings
 
Join Date: May 2020
Posts: 22
Default This is amazing

THANK YOU SO MUCH. Seriously, this is just game changing for me. You have enabled so much creativity to be realized in me, thank you so much for making this,
gwatch is offline   Reply With Quote
Old 09-19-2020, 10:00 AM   #83
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by gwatch View Post
THANK YOU SO MUCH. Seriously, this is just game changing for me. You have enabled so much creativity to be realized in me, thank you so much for making this,
cool! & yes, wayback is transformative for me also. will take years of practice to 'realize' it all. *big* fun. :^)

update: have had a lot less time for wayback, but have made progress. wayback has been working quite well for me. no big changes. useability tweaks and minor fixes mostly. added a new kind of macro that provides momentary loops & deltas. so reorganized keyboard shortcuts otw. have been struggling with documentation. variables lots easier than words for me. :^) & wayback has an essential 'conceptual framework' that's hard to say. or something. anywho, am working on a final candidate release of sorts, rsn. kind regards to all. /dan

ps- would love to hear a bit about how you use wayback gwatch. anything in particular you like?

Last edited by bang; 09-19-2020 at 10:25 AM. Reason: ps-
bang is offline   Reply With Quote
Old 09-23-2020, 03:22 PM   #84
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Just connected wayback to the Nabla Looper world. Two fantastic additions to the Reaper community. Thanks to both of you, my friends!
https://forum.cockos.com/showpost.ph...5&postcount=27
TonE is offline   Reply With Quote
Old 11-18-2020, 01:44 AM   #85
JJess
Human being with feelings
 
JJess's Avatar
 
Join Date: Jul 2020
Posts: 30
Default Looking for example sounds of wayback delay

So far have not found any on youtube. Any links welcome and appreciated!


Thanks.
JJess is offline   Reply With Quote
Old 11-19-2020, 11:12 AM   #86
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default


wayback, a fluid live looping delay

hello folks. 'how time flies' release 0.97fc is up on stash:

https://stash.reaper.fm/v/38738/wayback.zip

this release mainly reworks the wayback macro control scheme to be more keyboard and external controller friendly. macros are expanded and reorganized. there are new macros for quick, momentary loops and deltas, and a new 'grow' macro that seamlessly doubles loops. wayback presets should work better. also lot's of little useability tweaks and some minor bugfixes.

there is a rough preliminary take on documenting all this online at:

http://bangzero.org/wayback/guide

the guide begins with a simple, step by step wayback looping quickstart. this is an 8 macro exercise that demonstrates all core wayback concepts: buffered echoes, beats, delta, loop, warp, stealthloop, grow & dub. i hope it conveys the essentials, wayback in a nutshell. there is also a complete outline of wayback macros, with notes. i will be expanding and editing the guide for final release. feedback would help a lot. does the quickstart make sense? is it enough to get going? what's confusing? what's fun? note that the guide gets sketchier after the quickstart. work in progress...

the code deltas are shallow but widespread this release. and there's new code for momentary loops & such. and the preset bugfix was... tricky. most of these changes have been solid for me for a while. still, bugs in other use cases won't surprise me. please pm or post. thanks!

kind regards to all! /dan

ps- momentary loops were inspired by Timetosser (alter.audio), a clever hardware looper which seems to work like a special case of wayback's extend op. just needed momentary controls.

pps- Jsfx coders: is there an easy/proper way in @slider to detect preset loads? wayback macro controls change core controls, and must be ignored when presets load.

ppps- any Reascript coders know a way to activate Jsfx windows for keyboard input? can't find anything that does that in the sws or js_Reascript extensions. i can get the fx window in front and visually active, but get no keyboard input until i manually click in the fx window.
bang is offline   Reply With Quote
Old 11-19-2020, 01:49 PM   #87
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by bang View Post
ppps- any Reascript coders know a way to activate Jsfx windows for keyboard input? can't find anything that does that in the sws or js_Reascript extensions. i can get the fx window in front and visually active, but get no keyboard input until i manually click in the fx window.
Dear Dan, thanks for sharing and the update.

Would using an input jsfx help here? There are lua scripts using this, like hackey trackey or reaperton, maybe those examples help a bit? Wanted to mention both, as seems related somehow to your question. Oh, I see you meant qwerty input and not midi input, anyway a helper tool might help, midi to qwerty converter from command line: receivemidi, there is also sendmidi. receivemidi can trigger any script based on incoming midi input. For linux users it can be easy trigger the fitting commands required for wayback. receivemidi and sendmidi are available for all platforms, win, linux, mac. There is no excuse not using it.

Here one example, from my use case with k-board.

PHP Code:
receivemidi dev "K-Board MIDI 1" js "if (MIDI.isNoteOn()) Util.command('/home/you/kboard.sh ' + MIDI.noteNumber());" 
kboard.sh
PHP Code:
#!/usr/bin/env bash
echo $1

if [[ $== 61 ]]; then
    xdotool key 0xff54  
# down

elif [[ $== 63 ]]; then
    xdotool key 0xff52  
# up

elif [[ $== 66 ]]; then
    xdotool key shift
+h  

elif 
[[ $== 70 ]]; then
    xdotool key space 
&& sleep 0.2 && xdotool key c

elif 
[[ $== 49 ]]; then
    xdotool key 0xff51  
# left

elif [[ $== 51 ]]; then
    xdotool key 0xff53  
# right 
In short you can do whatever you want using midi input. receivemidi has lots of options, scripts can be anything, wayback is powerful (will discover its real power, in future, hopefully). Because of lack of good documentation your powerful tools are not really explored in depth I guess, but in this case you wrote a great manual, thanks for it. First thing I did was:

wkhtmltopdf http://bangzero.org/wayback/guide wayback_manual.pdf

Other than that, for Windows users there is AutoHotkey for window activation. For linux users there is this example:
xdotool search "your window title comes here" windowactivate && sleep 0.3

Slowing down things sometimes using sleep can help as well.
TonE is offline   Reply With Quote
Old 11-20-2020, 02:09 AM   #88
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Thanks Dan
Quote:
Originally Posted by bang View Post
pps- Jsfx coders: is there an easy/proper way in @slider to detect preset loads? wayback macro controls change core controls, and must be ignored when presets load.
There's no 'proper' way AFAIK know, I seem to remember wrestling that problem before but can't remember the details off the top of my head. Can't check now but I'll look through my FX later and see if I managed to solve it. I *think* I did.
IXix is offline   Reply With Quote
Old 11-20-2020, 06:26 AM   #89
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Yes, I did come up with a solution. This is the relevant code from my instance tracking library. The comments should mostly explain what's going on. The 'lock' instance variable is initialised to zero in @init and set to 1 in @block so the plugin knows that any calls to @serialize must be preset loading rather than project loading...

Code:
// Call from @serialize to preserve instance id through save/load cycle.
function Tracker.Serialize(client*)
    instance(assigned, clientMap, idMap, limit, lock)
    local(add, current)
(
    file_avail(0) > -1 ? // Loading?
    (
        add = 0;
        current = client.id;    // Store current id.
        file_var(0, client.id); // Read stored id.
        
        !(client.id < 1 || client.id > limit) ?
        (
            lock == 1 ? // Loading a preset or restoring a deleted instance.
            (
                gmem[clientMap + client.id - 1] < 0 ? // Missing?
                (
                    add = 1;
                )
                :
                (
                    client.id = current; // Restore current id.
                );
            )
            : // Loading a song.
            (
                add = 1;
            );
            
            // Add client to map and update id count.
            add ?
            (
                gmem[clientMap + client.id - 1] = 1;
                gmem[idMap + client.id - 1] = 1;
                assigned += 1;
            );
        );
    )
    : // Saving.
    (
        file_var(0, client.id); // Store id.
    );
);
Hope that helps. There might be a better way but this seems to work okay. The full library is at https://stash.reaper.fm/v/25417/IX.Tracker.jsfx-inc.zip if it might be useful.
IXix is offline   Reply With Quote
Old 11-20-2020, 10:51 AM   #90
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by IXix View Post
[...]The 'lock' instance variable is initialised to zero in @init and set to 1 in @block so the plugin knows that any calls to @serialize must be preset loading rather than project loading...
@init is not invoked when presets load. only on fx load, srate change or play start. what am i missing?
bang is offline   Reply With Quote
Old 11-20-2020, 12:48 PM   #91
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Quote:
Originally Posted by bang View Post
@init is not invoked when presets load. only on fx load, srate change or play start. what am i missing?
The idea is that you have a flag variable which signals that @block has happened at least once. If that's the case, any calls to @serialize must be either preset loads or project saves.


I forgot that I tend to use ext_noinit = 1 though, so if you're not doing that, you might need to jump through a couple more hoops to ensure that your flag variable isn't reset when @init is called again.
IXix is offline   Reply With Quote
Old 11-20-2020, 01:23 PM   #92
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by IXix View Post
The idea is that you have a flag variable which signals that @block has happened at least once. If that's the case, any calls to @serialize must be either preset loads or project saves.
ok. that makes sense. but i need to know in *@slider* if a preset is loading, so i can prevent the live macro controls from overriding the actual core settings. i have something that works, but it's tricky enough to break if Reaper changes presets much.
bang is offline   Reply With Quote
Old 11-20-2020, 01:37 PM   #93
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Quote:
Originally Posted by bang View Post
ok. that makes sense. but i need to know in *@slider* if a preset is loading, so i can prevent the live macro controls from overriding the actual core settings. i have something that works, but it's tricky enough to break if Reaper changes presets much.
The same strategy should work. I haven't checked the sequence of events when you load a preset as far as @slider and @serialize are concerned but I'd imaging @serialize probably happens first, so if you detect a preset change in @serialize you can set a flag so @slider knows what's happening.
IXix is offline   Reply With Quote
Old 11-20-2020, 01:43 PM   #94
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by IXix View Post
The same strategy should work. I haven't checked the sequence of events when you load a preset as far as @slider and @serialize are concerned but I'd imaging @serialize probably happens first, so if you detect a preset change in @serialize you can set a flag so @slider knows what's happening.
sadly, no. @slider is called 1st (once for each slider in use!) then @serialize.
bang is offline   Reply With Quote
Old 11-20-2020, 01:56 PM   #95
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Quote:
Originally Posted by bang View Post
sadly, no. @slider is called 1st (once for each slider in use!) then @serialize.
Oh, that's unfortunate. Perhaps Justin could be persuaded to change that?
IXix is offline   Reply With Quote
Old 11-22-2020, 11:02 AM   #96
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by IXix View Post
Oh, that's unfortunate. Perhaps Justin could be persuaded to change that?
could be tricky to avoid breaking current fx. a new 'preset_loading' global might work. but wayback is really pushing jsfx sliders a bit past the intended use i think. it's working well enough now.
bang is offline   Reply With Quote
Old 11-30-2020, 04:48 PM   #97
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default


wayback, a fluid live looping delay

hello folks. 'loose ends' release 0.971fc is up on stash:

https://stash.reaper.fm/v/38738/wayback.zip

it has a few useability tweaks to the zap, copy & beats macros. a couple of ui tweaks, including a more prominent alt-mode indicator. it's a bit more thread safe, and improves the preset load logic a bit.

i should have noted in the last release that a few sliders have been moved. so please check any controller assignments.

the original wayback user interface was arcane. big thanks to everyone who tried it, and particularly for the feedback. wayback is more useable & coherent now. i encourage folks to read & try out the quickstart:

http://bangzero.org/wayback/guide

it's a good, brief overview of all the wayback essentials.

be well everyone! /dan
bang is offline   Reply With Quote
Old 12-01-2020, 02:18 AM   #98
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks Dan, will check it as soon as I can.
TonE is offline   Reply With Quote
Old 12-01-2020, 02:32 AM   #99
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Thanks Dan!
IXix is offline   Reply With Quote
Old 12-05-2020, 06:52 AM   #100
ThrashJazzAssassin
Human being with feelings
 
ThrashJazzAssassin's Avatar
 
Join Date: Oct 2010
Location: Scotland
Posts: 422
Default

Hey Dan. Somewhere between v092rc and v0971fc the delta slider/parameter doesn't work till the gui is opened.

v092rc - [meta delta] works fine



v0971fc - [delta] does nothing till gui opened


EDIT: Fixed! Thanks Dan
__________________
TJA MIDI JSFX | REAPER-OSC-panels | erthoide

Last edited by ThrashJazzAssassin; 12-06-2020 at 03:00 PM.
ThrashJazzAssassin is offline   Reply With Quote
Old 12-05-2020, 09:52 AM   #101
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by ThrashJazzAssassin View Post
Hey Dan. Somewhere between v092rc and v0971fc the delta slider/parameter doesn't work till the gui is opened.
thanks TJA. good catch. and the licecaps & 092rc datapoint help. just to confirm what i see: delta fails until the fx window is shown *the 1st time*, but works with the window closed after that? i probly need to initialize the gui before the fx is shown. will fix that for a minor update rsn. /dan
bang is offline   Reply With Quote
Old 12-06-2020, 12:13 PM   #102
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default


wayback, a fluid live looping delay

hello folks. 'little fixes' release 0.972fc is up on stash:

https://stash.reaper.fm/v/38738/wayback.zip

this release primarily fixes a few minor bugs: the pre-gui delta bug TJA reported, and a couple of problems with the zap/z macro. it also tweaks the fade/x macro & windows font size. and just for fun there's an extra tiny gui mode for tcp embeds.

online documentation, including a basic quickstart at:

http://bangzero.org/wayback/guide

it's a good, brief overview of all the wayback essentials.

kind regards everyone! /dan
bang is offline   Reply With Quote
Old 02-09-2021, 01:42 PM   #103
ThrashJazzAssassin
Human being with feelings
 
ThrashJazzAssassin's Avatar
 
Join Date: Oct 2010
Location: Scotland
Posts: 422
Default

Hey Dan, been playing with wayback again, a lot still figuring it out. Here's a finding..

When [hard delta-t] is enabled and the loop time is changed too much, there's a loud click, and the play-head and loop 'markers' gets lost 'off tape'. Would it be possible for these things to loop round the 'tape' (constrained) in the same manner as when [hard delta-t] is off?

Thank you so much
__________________
TJA MIDI JSFX | REAPER-OSC-panels | erthoide
ThrashJazzAssassin is offline   Reply With Quote
Old 02-10-2021, 03:50 PM   #104
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by ThrashJazzAssassin View Post
When [hard delta-t] is enabled and the loop time is changed too much, there's a loud click, and the play-head and loop 'markers' gets lost 'off tape'. Would it be possible for these things to loop round the 'tape' (constrained) in the same manner as when [hard delta-t] is off?
that sounds like a bug. i'll get a fix out asap. thanks for your report TJA. /dan
bang is offline   Reply With Quote
Old 02-14-2021, 04:40 PM   #105
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default


wayback, a fluid live looping delay

hi folks. 'more little fixes' release 0.973fc is up on stash:

https://stash.reaper.fm/v/38738/wayback.zip

this release mostly fixes a couple more minor bugs: TJA's hard delta-t issue & a problem with clear/C. it adds a visible control for the zap/Z fade level. and there are a few useability tweaks.

online documentation, with a basic quickstart at:

http://bangzero.org/wayback/guide

enjoy! /dan
bang is offline   Reply With Quote
Old 10-22-2021, 08:25 AM   #106
ThrashJazzAssassin
Human being with feelings
 
ThrashJazzAssassin's Avatar
 
Join Date: Oct 2010
Location: Scotland
Posts: 422
Default

Hi Dan. The Zap button on the GUI doesn't seem to do what is expected (momentarily force feedback to minimum...)

__________________
TJA MIDI JSFX | REAPER-OSC-panels | erthoide
ThrashJazzAssassin is offline   Reply With Quote
Old 10-27-2021, 08:15 AM   #107
bang
Human being with feelings
 
bang's Avatar
 
Join Date: Jul 2006
Posts: 626
Default

Quote:
Originally Posted by ThrashJazzAssassin View Post
Hi Dan. The Zap button on the GUI doesn't seem to do what is expected (momentarily force feedback to minimum...)
hi TJA. hmmmm. i changed the behavior of zap a couple of releases back to make the default zap just temporarily lower the output level. the old, destructive zap is now active in alt mode (shortcut "/"). but i realize now this complicates external control of zap. alt should not be required to externally access any of the core ops like zap. so i will restore the old behavior for the zap js control.

and... i have a fairly simple way to implement the Beardyman "retrospective" looping technique. i can add a macro control that both sets the number of beats and starts looping immediately. so you can use macro "l" (slider55) to silently record input until macro "g2" (slider60) immediately loops the number of beats set. does this sound like it will do what you have in mind?

big thanks for the feedback TJA. enjoy! /dan
bang is offline   Reply With Quote
Old 10-27-2021, 01:23 PM   #108
ThrashJazzAssassin
Human being with feelings
 
ThrashJazzAssassin's Avatar
 
Join Date: Oct 2010
Location: Scotland
Posts: 422
Default

Ooooh that sounds great. The way I've been doing it is running a script from my touchscreen controller which sends a bunch of OSC messages to simultaneously set the no. of chosen beats and set the 'delta' control to either zero or just on enough for feedback to be 100% and continue recording. then I've got a handy button to set the mode to 'hard' so that I can shorten the loop if necessary. I get a lot of clicks this way sometimes though.
__________________
TJA MIDI JSFX | REAPER-OSC-panels | erthoide
ThrashJazzAssassin is offline   Reply With Quote
Old 12-03-2021, 08:59 AM   #109
leachim6
Human being with feelings
 
Join Date: Jun 2020
Posts: 1
Default

I don't have anything to add really but I just want to thank Bang for making this. I lost myself for a few hours playing with it and harmonizing with myself, it is excellent for guitar jamming.
leachim6 is offline   Reply With Quote
Old 12-18-2023, 05:55 AM   #110
symetrk
Human being with feelings
 
Join Date: Jan 2018
Location: Berlin, Germany
Posts: 5
Default Anyone still here? A question about external FX

Hi, I'm obviously rather late to the party here (I'm late to a lot of parties) but definitely interested in this looper. No idea if anyone is still using it, or maintaining it, or if it ever reached a '1.0' level release (doesn't look like it?)...

Anyway, I have installed the most recent version I could find and it does still seem to work with current-gen Reaper, and it definitely still looks very cool and powerful, if quite a lot to come to grips with in terms of utilizing the considerable capabilities on offer. However, my needs are fairly simple to begin with...

Sadly though, the main thing that caught my eye is the External FX option, which is something I'd very much like to make use of if I could figure out how to get it to work.

Earlier in this thread, the developer made this reply to another query on the subject:

"for example, 'feedback fx' requires external fx with inputs & output specially routed to wayback. without that feedback fx will just break wayback..."

... which I get, but the thing is, I cannot find any explanation of how this 'special routing' is supposed to work. I have looked through all the documentation I can find, and there is literally nothing at all on the subject, except this from the in-plugin contextual help:

'send on channels 3+4, return on 5+6'

This seems clear on the surface, but any way I have attempted to do it - whether on a single, 6-channel track with the pin routing on the plugin set to output from channels 3-4 into a subsequent plugin whose output is routed back on channels 5-6, or via sends on those channels to and from a second track with an FX plugin inserted - simply stops Wayback from doing anything when the 'feedback fx' button is engaged.

While I get that putting the cart before the horse can be a danger and I might be better served to start small and simple and wait until I have developed a broader understanding of the plugin... it strikes me that this is kind of a separate function, and the required routing should be relatively simple to explain and does not depend on advanced knowledge of every mode, function and shortcut in the rest of the plugin - and is itself unlikely to be affected by such knowledge. But it is not, so far as I can find, explained anywhere.

So... if anyone is still using this and knows how it works, or the developer is still in the mix and could give a quick answer, or it could somehow be added to the documentation... I would be most appreciative! And if not... well, I'll keep plugging away at it and see if I can crack the code, or I'll give up and accept defeat. Such is life!

Thanks in advance for any advice anyone has to offer...
symetrk is offline   Reply With Quote
Old 12-18-2023, 01:45 PM   #111
symetrk
Human being with feelings
 
Join Date: Jan 2018
Location: Berlin, Germany
Posts: 5
Default

Never mind, I figured it out! Reaper's helpful anti-feedback default setting needs to be overridden at the project settings level in order to allow the sends to work, even though they are on different track channels and so not inherently posing a speaker-and-or-ear-destroying risk. But it can be set to allow such feedback, allowing the sends-between-tracks method to work. So that's nifty!

Now to explore the rest of this thing's fascinating, if somewhat arcane, functionality!
symetrk 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 09:46 PM.


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