| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 1.803
» Latest member: sleestack
» Forum threads: 2.054
» Forum posts: 12.093
Full Statistics
|
| Online Users |
There are currently 101 online users. » 1 Member(s) | 97 Guest(s) Applebot, DuckDuckGo, Google, Snox
|
|
|
| PC for Patch Selection and Current Values for MIDI CC |
|
Posted by: RMBLRX - 11-30-2025, 07:09 PM - Forum: Feature requests
- No Replies
|
 |
Hey, I'm loving how robust the MIDI features have become. As I'm experimenting, though, I've realized a few features that would make it that much better for my workflow. Currently I use MIDI CC to essentially create instruments on a particular device for any given song. Patch has been great for accomplishing this, but because I like to use MIDI input to expedite the composition process (recording another sequencer's output into the NerdSEQ), I would have to set the CCs manually, either through running a pattern with a patch in it while running the external sequencer or by setting the CC values externally and trying to later replicate those into a patch.
My request, then, is a little layered: - I would like to be able to intercept Program Change input and interpret as a patch select (probably through mapping, which I do not believe to currently include Patch as a destination).
- I would like to be able to set CC values through the Current Values screen in order to set something like an initializing patch for a given track.
- Given the first request, I would also like to be able to create a patch from a given set of current values (possibly have that optionally as default behavior when creating a new patch from inside a pattern, wherein the new patch simply clones the current values insofar as possible).
Really, just having the ability to map Program Change to patch selection--whether live or in recording, but preferably both--would mean the world and take me as far as anything else. But I suppose my two requests having to do with Current Values would require some more fundamental changes and would conceivably be more complicated to implement, if at all reasonable.
|
|
|
| Vertex Shaders |
|
Posted by: TheSandbag - 11-22-2025, 02:01 PM - Forum: General Questions
- Replies (3)
|
 |
I'm trying to do a bit of optimisation by moving per frame constanst into the vertex shader but having some issues. Is it possible to have the default vertex shader (and is attributes) posted in the manual?
|
|
|
| Mapping Q |
|
Posted by: argent_smith - 11-15-2025, 12:54 PM - Forum: Everything Else
- Replies (1)
|
 |
Hi
Honestly speaking, I need a mapping tutorial (perhaps could write it myself if I understood mapping quite well)
Q1:
How should I program this usecase:
Accept CC#105 value 1 on MIDI channel 5 -> start only the required pattern in track 1 and keep playing the entire column of patterns (no islands) underneath it?
Q2:
Does CALC source compute each time the mapping runs (AFAIK it runs every msec)?
Sincerely, Paul
|
|
|
| Sampler2d for glsl |
|
Posted by: TheSandbag - 11-11-2025, 04:18 PM - Forum: Feature requests
- No Replies
|
 |
For some things (feedback effects, pre sampled noise e.t.c) its useful to have sampler2d elements to pass in. This can drastically reduce computation where the same source texture is then manipulated after.
|
|
|
| [NO BUG] GLSL Shaders crash vid io |
|
Posted by: TheSandbag - 11-11-2025, 04:03 PM - Forum: The really bad bugs -> crash
- Replies (6)
|
 |
The following shader crashes the more-video module as seen by it reshowing the boot screen
Code: #version 100
#ifdef GL_ES
precision mediump float;
#endif
#define PI 3.14159
#define MAX_ITER 20.
uniform vec2 u_resolution;
uniform float u_time;
uniform float u_modulator1;
uniform float u_modulator2;
uniform float u_modulator3;
uniform float u_modulator4;
uniform float u_modulator5;
uniform float u_modulator6;
const vec3 a1 = vec3(0.5, 0.5, 0.5);
const vec3 b1 = vec3(0.5, 0.5, 0.5);
const vec3 c1 = vec3(2.0, 1.0, 0.0);
const vec3 d1 = vec3(0.50, 0.20, 0.25);
const vec3 a2 = vec3(0.5, 0.5, 0.5);
const vec3 b2 = vec3(0.5, 0.5, 0.5);
const vec3 c2 = vec3(1.0, 1.0, 1.0);
const vec3 d2 = vec3(0.00, 0.33, 0.67);
mat2 rotate(float _angle){
return mat2(cos(_angle),-sin(_angle),
sin(_angle),cos(_angle));
}
mat2 scale(vec2 _scale){
return mat2(_scale.x,0.0,
0.0,_scale.y);
}
vec3 palette(in float t, in vec3 a, in vec3 b, in vec3 c, vec3 d)
{
return a + b*cos( 6.283185*(c*t+d) );
}
float check_step(float i, float z, float step_id) {
float is_i = step(0.1, i);
return (is_i * i) + ((1.-is_i) * (step(200., z) * step_id));
}
float julia(vec2 uv){
float j=0.;
float i=0.;
vec2 c=vec2(-0.70176,-0.3842);
for (float i=0.;i<MAX_ITER;i++){
uv=vec2(uv.x*uv.x-uv.y*uv.y,2.0*uv.x*uv.y)+c;
j=check_step(j, length(uv), i);
}
return j;
}
float hash(vec2 p)
{
p = fract( p*0.6180339887 );
p *= 25.0;
return fract( p.x*p.y*(p.x+p.y) );
}
float noise( in vec2 x )
{
vec2 p = floor(x);
vec2 f = fract(x);
f = f*f*(3.0-2.0*f);
float a = hash(p+vec2(0,0));
float b = hash(p+vec2(1,0));
float c = hash(p+vec2(0,1));
float d = hash(p+vec2(1,1));
return mix(mix( a, b,f.x), mix( c, d,f.x),f.y);
}
float fbm ( in vec2 _st) {
float v = 0.0;
float a = 0.5;
const vec2 shift = vec2(100.0);
const mat2 rot = mat2(cos(0.5), sin(0.5),
-sin(0.5), cos(0.50));
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
_st = rot * _st * 2.0 + shift;
a *= 0.5;
v += a * noise(_st);
return v;
}
vec3 smoke(vec2 st){
vec3 color = vec3(0.0);
vec2 q = vec2(0.);
q.x = fbm( st + 0.00*u_time);
q.y = fbm( st + vec2(1.0));
vec2 r = vec2(0.);
r.x = fbm( st + 1.0*q + vec2(1.7,9.2)+ 0.15*u_time );
r.y = fbm( st + 1.0*q + vec2(8.3,2.8)+ 0.126*u_time);
float f = fbm(st+r);
color = mix(vec3(0.101961,0.619608,0.666667),
vec3(0.666667,0.666667,0.498039),
clamp((f*f)*4.0,0.0,1.0));
color = mix(color,
vec3(0.8,0.6,0.164706),
clamp(length(q),0.0,1.0));
color = mix(color,
vec3(0.666667,1.,1.),
clamp(length(r.x),0.0,1.0));
return (f*f*f+.6*f*f+.5*f)*color;
}
float between(float start, float end, float p) {
return step(start, p) * step(p, end);
}
void main(){
vec2 uv=(((2.0*gl_FragCoord.xy)-u_resolution.xy)/u_resolution.y);
vec2 uv2 = uv;
uv2 *= rotate(-fract((u_time / 50.0) * (1.-u_modulator2)) * PI * 2.);
uv *= rotate(fract((u_time / 10.0) * (1.-u_modulator2)) * PI * 2.);
uv *= scale(vec2(1.3 + (1.-u_modulator1) * 0.4));
float foreground_start = (float(MAX_ITER) * ((0.5-u_modulator3)*0.5));
float mandel = 1.;//julia(uv);
vec3 color1 = palette(fbm(vec2(mandel/MAX_ITER, fract(u_time / 500.))*100.),a1,b1,c1,d1);
vec3 middleground = color1;
vec3 smok = (smoke(uv2 * 15.) * 10.) + 0.3;
vec3 background = smok * palette(length(uv2) / 3.,a2,b2,c2,d2) ;
vec3 foreground = smok * palette((length(uv2) / 3.) + 0.6,a2,b2,c2,d2);
gl_FragColor=vec4(background * between(1., foreground_start - 1., mandel), ((1. - u_modulator4))*0.5) + vec4(middleground * between(foreground_start, MAX_ITER, mandel), ((1. - u_modulator5))*0.5)+ vec4(foreground * between(0., .1, mandel), ((1. - u_modulator6))*0.5);
}
|
|
|
| Groove list |
|
Posted by: Tenebris - 11-11-2025, 01:08 PM - Forum: Everything Else
- Replies (2)
|
 |
I may have figured a way to export and populate a list of groove times from Ableton and Logic for a list to be programmed into Nerdseq from grooves in daws. It won’t be a small task but if anyone is interested please let me know. I do d a search on forum and last I found was 2019 so I thought jest to post new as best to not get lost. I hope that’s ok Thomas.
|
|
|
| f# incorrect |
|
Posted by: TheSandbag - 11-10-2025, 09:47 AM - Forum: General Questions
- Replies (5)
|
 |
All my CV channels are outputting O.75v for f# for some reason. I have a multi-io, more video-io and a more cv plugged in. Its consistently wrong over all channels and all octaves. I assume some mapping file somewhere is wrong but I have no idea what I have done to cause it. I know its not calibration level (and its in a different case) but using my mordax data i got the following values across all octaves
Note | Note Num | Expected | Actual
c | 0 | 0 | 0.01
c# | 1 | 0.083 | 0.09
d | 2 | 0.166 | 0.18
d# | 3 | 0.25 | 0.26
e | 4 | 0.333 | 0.36
f | 5 | 0.416 | 0.47
f# | 6 | 0.5 | 0.76
g | 7 | 0.583 | 0.59
g# | 8 | 0.666 | 0.67
a | 9 | 0.75 | 0.75
a# | 10 | 0.833 | 0.83
b | 11 | 0.916 | 0.92
And I've just checked and the mod outputs are outputting the wrong values for f and f# but not the more cv
|
|
|
|