Took me some time but I finally tested the non Stutter, and it’s PERFECT !!!
Thanks a lot @zwabo !!!
The MS_ENV parameter may be a bit more explicit if it was named “Attack” ?
Took me some time but I finally tested the non Stutter, and it’s PERFECT !!!
Thanks a lot @zwabo !!!
The MS_ENV parameter may be a bit more explicit if it was named “Attack” ?
Cool.
Unless I’m mistaken, I call it ENV because there is a ramp up and a ramp down.
Hi. In Dwarf my plugin settings window (from the store) does not look at all like what’s in the video. There is no way to assign a function to a footswitch, only to a knob. I have no idea how to put a plugin from github into a Dwarf. Don’t shoot, I’m just a Window user.
You’re right, I just did a try with the one in the Beta store and there is an issue, don’t know why…
So, here is the simplest way to tweak the problem: for the Ztutter, Double, Random, Reverse knob parameters, you can use, for each one, a Control to CV plugin with the Control at 10v. and a footswitch-> on/off.
Not very elegant but it works…
Another option is to edit the .ttl file in the lv2 folder according to the instructions here after the line
" to get a switch for this parameter"
https://wiki.mod.audio/wiki/Max_gen~
Or If you want to install the last version from github on windows, you should probably use Win SCP, see the Jacube’s post here for his plugin installation:
Then you have to reboot the dwarf.
Hope it helps
Thanks for the reply. I saw a post about WinSCP, but I was a little afraid to try it, because all this is very unobvious to me as an ordinary user of a guitar pedal. Getting into the software of the device is not the most standard scenario for a musician. It is especially surprising that everyone on the forum is well versed in all this and does not see any problems in changing the lines of the plugin code… Actually, I’m a processor guy and twisting parameters is a familiar thing for me. But with a Dwarf… This level is not at all for those who like simplicity. (by the way, I suspect that this scares off many potential users). But I tried the WinSCP option and installed the plugin (mono) from Github. Thanks for the advice, and separately for developing cool plugins!
I’d love to know what’s happening with this. I managed to get it make some spectacularly strange noises last night that were wholly unrelated to the input signal but awesome nonetheless, but can’t replicate it today even having saved the board last night in the same state…
@zwabo thanks so much for the work you’re doing on max-gen stuff - it’s really exciting
Normally there is no problem saving presets but the Beta store version seems not totally ok, see my post about the custom ttl file problem mentioned above.
My working version is here, but probably only useful for the Dwarf:
I also just put the gen_exported files (from Max) for STUTTER and STUTTER MONO here:
So maybe you can try to install it again with the MOD Cloud Builder on your device.
http://builder.mod.audio/maxgen
And then you can try to copy/paste/edit some parameters from the original .ttl file here to change some knobs to switches etc…:
Hope it helps
that’s amazing. I’d love to have the time to dig into all that, but at the moment I have degree dissertations to mark and a PhD to write
Will persevere with the original version here and see if I can find a way to make it do weird shit
this is really lovely. Absolutely nothing like the squealing chaos I got out of it last night. I hope I can find a way to have both eventually
Holà @zwabo
I use the plugin daily, and I have a very small problem with the mono (I’m not sure it is present on the stereo) :
Do you have something similar ?
Holà @Rom
You’r right there is a bug…
It happens only when Speed is set above 1.00, same problem with the stereo version.
I have to take a look at the Gen~ patch one of these days, but probably not before end of July, sorry.
thanks a lot !!!
@zwabo, yesterday I tried to edit the .ttl file using Winscp into my Mod Duo X.
What I found was that there also was a .ttl file with the cozmic name in the Stutter lv2 folder. So there was three ttl files there. But even though one of them had the cozmic name, the actual content of the file was exactly the same as the stutter ttl file.
So I removed the cozmic one and tried to do the updates to the stutter ttl file to get toggled switches instead, and the div L and div R to be lists instead of values (like in your demo).
But even though updating the ttl file and rebooting, the gui looks still the same, everything is still only knobs.
Any ideas? Do I need to refresh the plugin manually somehow?
Hi,
Yes, I know, the beta store upload was not done correctly, unfortunately there is nothing I can do about it…
I would try to :
(This was made for the Dwarf but maybe it’ll work for the MDX …)
Thanks for the suggestion. I will try it out this evening.
Doing a manual compare it seems that it is only these that differ:
From Mod audio github:
and
From your Github:
and
Hopefully it as simple as that
And when it’s done don’t forget to reset your browser’s cache.
I never did this yesterday. Wonder if cache is the issue in my case Will test and report back.
Thanks for assisting, really appreciated!
Success! Sharing this here so that other Mod Duo X users can make the edits if they so wish to get the GUI working correctly.
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
@prefix mod: <http://moddevices.com/ns/mod#> .
@prefix opts: <http://lv2plug.in/ns/ext/options#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rsz: <http://lv2plug.in/ns/ext/resize-port#> .
@prefix spdx: <http://spdx.org/rdf/terms#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
@prefix time: <http://lv2plug.in/ns/ext/time#> .
<urn:maxgen:zwabo:stutter>
a lv2:DelayPlugin, lv2:Plugin, doap:Project ;
lv2:extensionData opts:interface ;
lv2:optionalFeature <http://lv2plug.in/ns/lv2core#hardRTCapable> ,
<http://lv2plug.in/ns/ext/buf-size#boundedBlockLength> ;
lv2:requiredFeature opts:options ,
<http://lv2plug.in/ns/ext/urid#map> ;
opts:supportedOption <http://lv2plug.in/ns/ext/buf-size#nominalBlockLength> ,
<http://lv2plug.in/ns/ext/buf-size#maxBlockLength> ,
<http://lv2plug.in/ns/ext/parameters#sampleRate> ;
lv2:port [
a lv2:InputPort, lv2:AudioPort ;
lv2:index 0 ;
lv2:symbol "lv2_audio_in_1" ;
lv2:name "Audio Input 1" ;
] ,
[
a lv2:InputPort, lv2:AudioPort ;
lv2:index 1 ;
lv2:symbol "lv2_audio_in_2" ;
lv2:name "Audio Input 2" ;
] ;
lv2:port [
a lv2:OutputPort, lv2:AudioPort ;
lv2:index 2 ;
lv2:symbol "lv2_audio_out_1" ;
lv2:name "Audio Output 1" ;
] ,
[
a lv2:OutputPort, lv2:AudioPort ;
lv2:index 3 ;
lv2:symbol "lv2_audio_out_2" ;
lv2:name "Audio Output 2" ;
] ;
lv2:port [
a lv2:InputPort, lv2:ControlPort ;
lv2:index 4 ;
lv2:name "BPM" ;
lv2:symbol "BPM" ;
lv2:default 120 ;
lv2:minimum 20 ;
lv2:maximum 280 ;
lv2:portProperty mod:tempoRelatedDynamicScalePoints;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 5 ;
lv2:name "DOUBLE" ;
lv2:symbol "DOUBLE" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
lv2:portProperty lv2:toggled;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 6 ;
lv2:name "Div_L" ;
lv2:symbol "Div_L" ;
lv2:default 1 ;
lv2:minimum 1 ;
lv2:maximum 10 ;
lv2:portProperty lv2:integer;
lv2:portProperty lv2:enumeration ;
lv2:scalePoint [rdfs:label "1/4note"; rdf:value 1];
lv2:scalePoint [rdfs:label "Dotted1/8note"; rdf:value 2];
lv2:scalePoint [rdfs:label "1/4notetriplets"; rdf:value 3];
lv2:scalePoint [rdfs:label "1/8note"; rdf:value 4];
lv2:scalePoint [rdfs:label "1/8notetriplets"; rdf:value 5];
lv2:scalePoint [rdfs:label "Dotted1/16note"; rdf:value 6];
lv2:scalePoint [rdfs:label "5tuplet"; rdf:value 7];
lv2:scalePoint [rdfs:label "7tuplet"; rdf:value 8];
lv2:scalePoint [rdfs:label "9tuplet"; rdf:value 9];
lv2:scalePoint [rdfs:label "11tuplet"; rdf:value 10];
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 7 ;
lv2:name "Div_R" ;
lv2:symbol "Div_R" ;
lv2:default 3 ;
lv2:minimum 1 ;
lv2:maximum 10 ;
lv2:portProperty lv2:integer;
lv2:portProperty lv2:enumeration ;
lv2:scalePoint [rdfs:label "1/4note"; rdf:value 1];
lv2:scalePoint [rdfs:label "Dotted1/8note"; rdf:value 2];
lv2:scalePoint [rdfs:label "1/4notetriplets"; rdf:value 3];
lv2:scalePoint [rdfs:label "1/8note"; rdf:value 4];
lv2:scalePoint [rdfs:label "1/8notetriplets"; rdf:value 5];
lv2:scalePoint [rdfs:label "Dotted1/16note"; rdf:value 6];
lv2:scalePoint [rdfs:label "5tuplet"; rdf:value 7];
lv2:scalePoint [rdfs:label "7tuplet"; rdf:value 8];
lv2:scalePoint [rdfs:label "9tuplet"; rdf:value 9];
lv2:scalePoint [rdfs:label "11tuplet"; rdf:value 10];
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 8 ;
lv2:name "ENV_ms" ;
lv2:symbol "ENV_ms" ;
lv2:default 1 ;
lv2:minimum 0 ;
lv2:maximum 500 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 9 ;
lv2:name "Filter_R" ;
lv2:symbol "Filter_R" ;
lv2:default 0 ;
lv2:minimum -100 ;
lv2:maximum 100 ;
] ,
[
a lv2:OutputPort, lv2:ControlPort ;
lv2:index 10 ;
lv2:name "LEFT" ;
lv2:symbol "LEFT" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 11 ;
lv2:name "RANDOM" ;
lv2:symbol "RANDOM" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
lv2:portProperty lv2:toggled;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 12 ;
lv2:name "RANGE" ;
lv2:symbol "RANGE" ;
lv2:default 5 ;
lv2:minimum 1 ;
lv2:maximum 10 ;
] ,
[
a lv2:OutputPort, lv2:ControlPort ;
lv2:index 13 ;
lv2:name "RIGHT" ;
lv2:symbol "RIGHT" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 14 ;
lv2:name "Tail" ;
lv2:symbol "Tail" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 15 ;
lv2:name "dry_wet" ;
lv2:symbol "dry_wet" ;
lv2:default 0.5 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 16 ;
lv2:name "reverse" ;
lv2:symbol "reverse" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
lv2:portProperty lv2:toggled;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 17 ;
lv2:name "speed" ;
lv2:symbol "speed" ;
lv2:default 1 ;
lv2:minimum 0.009 ;
lv2:maximum 2 ;
] ,
[
a lv2:InputPort, lv2:ControlPort ;
lv2:index 18 ;
lv2:name "ztutter" ;
lv2:symbol "ztutter" ;
lv2:default 0 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
lv2:portProperty lv2:integer, lv2:toggled, mod:preferMomentaryOnByDefault ;
] ;
rdfs:comment """
Double Stutter effect (L/R) with time division 1/4 note, 1/8 note , etc...
but also odd division 5tuplet, 7tuplet, 9tuplet, 11tuplet
which could give interesting polyrythmic effects at slow tempo.
An ambiant/harsh tool in one plugin.
""" ;
mod:brand "zwabo" ;
mod:label "STUTTTER" ;
doap:name "STUTTTER" ;
doap:license <http://spdx.org/licenses/ISC.html> ;
doap:maintainer [
foaf:name "zwabo" ;
foaf:homepage <https://github.com/moddevices/max-gen-skeleton> ;
] ;
lv2:microVersion 0 ;
lv2:minorVersion 0 .
Now the Stutter plugin should work correctly!
Ps. I’ll share some more details in the next post.