R_e_c_u_r questions.. again

I’ve been using my recur unit a bunch and loving it, even set up with a nanokontrol2 now for maximum control, but there’s a few things I wanted to ask that I couldn’t find answers for in the documentation.

First off, is there any way to enable a frame counter for the final output? Unable to find any info in documentation or settings, but this would be extremely useful for me.

Secondly, does anyone have any guidelines of how I should be converting clips for use with recur. I’ve a bunch of stuff I ripped straight from youtube, but only some of it plays (doesn’t seem to matter whether its HD or not). If I switch the player backend to omxplayer (i think it was that one?) everything plays but this restricts the ability to play shaders amongst other things. What should I be converting my video files to for max compatibility in recur?

Finally, I’ve been having a little trouble mapping some of the controls and getting them to work. I’ve shifted some stuff around in the json file and while some of the bindings work fine, I can’t get the toggle_shader_layer commands to work. I should just be able to tap the shader layers on and off with these right? They seem to do absolutely nothing unfortunately. It also seems that the 3x speed binding doesn’t work as a toggle to 3x either, and instead seems to turn the slider next to it into a speed dial? Is this the intended behavior? Anyway I would appreciate any pointers on what could be going wrong here. I’m using a nanokontrol2 at default settings.

Sorry to bombard questions here. This forum is a cool space and I look forward to posting some of my work rather than coming here exclusively to troubleshoot… But until then, help a bitch out if you would be so kind!!

1 Like

hii @junkr6 - glad to hear you are enjoying ur recur ! and ya ofcourse happy to answer any questions u have:

im not sure exactly what u mean here - is this like which frame the video is on as it is playing ? short answer is no not currently implemented

in general i would try using h.264 in mp4 → sd resolution plays better especially if using the backend with shaders etc…

some more exploring / testing around this is probably a good idea - i also have had some things not playing but cant remember what it was / why now…

from what i can see yes i think you should be able to tap the layers on and off from this - i will have to boot up a recur and play around to see if this works how expected for me - its been a while since iv used recur… will get back to you on this one

that is the intended behavior although i can see how the name is misleading - its meant to be a toggle between: speed param and x3 param → where x0, x1, x2, x3 are the names of controlable parameters in the shaders → some shaders use all four parameters but quite a few use 3 or less so this toggle lets u decide if u want to use the 4th input as speed control or for the forth param

let me know if theres anything else ! really happy people are still getting value out of this code i wrote 5+ years ago now :wink:

ah thanks for your response. yeah, honestly i’ve had plans to build one for years, as i wanted a simple and portable way to output sd video into my circuit bent gear, but only now i’ve built and played with one for a bit am i seeing how versatile this little guy can be, i even obtained a second pi & nanokontrol to increase the chaining possiblities. i have my first vj shows booked late this year and recur is an integral part of the system already, and does a whole lot more than i originally thought.

anyway, as far as these questions,

by frame counter i meant enabling a fps overlay so for example you could tell if the shaders you’re working with are causing slowdown, or other stuff that may cause frame drops.

the toggle layers i actually copied the command from the APC 25 key mapping json so theoretically if it works on your end it should work on mine… it would certainly be a nice convenience

thanks for your responses though its great that you care enough to help me troubleshoot for a software that is already free and open source.

one thing I am really diving in on right now is recur’s possibilities as a two channel video mixer and processor, an analog mixer so small is like a holy grail in a budget portable setup like what i am trying to dial in.

that said i have a final question, its a little specific but if you happen to know it would be super helpful. i’ve been using the rotate shader to essentially transform video to different sizes and positions, suuper useful. but when i shrink the video smaller than the screen, anything outside the little box containing the shrunken, playing video is freeze frames of what was last there.

is there any way an idiot who is horrible with code like myself could tweak it to just have a black background instead? or even a second channel so you could do a sort of picture in picture thing? i tried opening up the rotate.frag but i think i’m gonna have to do some pretty serious diving on how shader code works to understand what i’m looking at. if you have any ideas or resources i would appreciate it! thanks again for your response and for creating such a sweet little bit of kit

ah yea that totaly makes sense - infact i think the recurBOY has this option as do a few other projects iv worked on since - so ya a good idea ! that isnt currently in recur as far as i can see…

as you might have noticed i havnt been actively working on the r_e_c_u_r project for quite a few years - however i also was excited about this possiblity and started working on a new recur spinoff that tries to capture this two channel mixer + effects kind of layout - you can see a demo of a prototype i made here:

hoping to make another prototype by end of this year…

i know what you mean about the video showing the last frame of what was there - its interesting becasue when i look at the code here it looks like thats already implemented:

    if((pos.x < 0.0)||(pos.y < 0.0)||(pos.x > 1.0)||(pos.y > 1.0)){
        texColourRotate = vec4(0.0);
    }
    else{
        texColourRotate = texture2D(tex, pos);
    }

this code to me makes me think it would be black outside of the shown frame… if you replace the texColourRotate = vec4(0.0); line with something like texture2D(u_tex1, pos); then i think it will do the PinP thing you mention (passing through the other texture - ie like a 2input shader…)

can check these things when im next on the recur tho…

i would really like to make some more resources around making/editing shaders for these…

one good resource for playing with shaders in the browser is this glsl.erogenous-tones.com - you can modify the code here and see the effects directly… (also can download the shader files you make and run them on recur…)

i also wrote one guide on how to convert a shader taken from shadertoy to the format that recur will accept here

1 Like

damn dude…

can’t thank you enough for your guidance. it’s one thing to be putting this stuff out there as free software but it means the world that you care enough to help me troubleshoot this stuff. i won’t bore you with the details but i’m having a really shitty time right now and chipping away at video stuff is bringing me some positivity so thanks a bunch.

but anyway holy SHIT that neo_recur looks awesome. would absolutely need one if this came to be. the idea of being less limited when it comes to hardware is very appealing too.

thanks again for the info and i will wait eagerly to hear of anything on the neo recur!

1 Like