Cabbage Logo
Back to Cabbage Site

Super noob quesrion im afraid to askj

im new as three weeks or so into cabbage
i started using the ideas you guys have on vst and start experimenting “hit and miss” learning, rhank you for this amazing stuff, posibilities are endless, im doing a sampler at this moment but i want to add some fx, i can seems to get it, i finally connect a slider to read the cutoff and see numbers corresponding to it working, but as far as hearing the fx no luck, i know its me, i have to be sacing the project in different names so i dont mess up the one that works at rhe moment

so i tried to use the cabagfe patcher, super easy to connect everything, its posible to save that in a vst an see the buttons on the vst im working on? or that its for another stuff?

Maybe you can prepare a code-example of the problem?

I’m afraid that the Cabbage patcher graph can’t be exported as a VST, just the nodes it contains. Like @hdale94 says, post some code and we can help. That’s what the forum is for :wink:

<Cabbage>
form size(660, 379), caption("YO 90s DRUMZ"), pluginID("plu1"), bundle ("pngwing.com-4.png","pngwing.com-4.png","Samples")
image bounds(2, 0, 660, 379) file("Drums!-2.png") outlinecolour(0, 0, 0, 128)
image bounds(412, 98, 285, 275) colour(55, 46, 46, 255) outlinecolour(149, 21, 21, 128) file("pngwing.com-4.png") alpha(0.4)
keyboard bounds(458, 290, 183, 72) whitenotecolour(253, 236, 173, 255)  arrowbackgroundcolour(0, 0, 0, 128) arrowcolour(255, 255, 255, 255) keyseparatorcolour(31, 30, 30, 255)
</Cabbage>
<CsoundSynthesizer>
<CsOptions>
-n -d -+rtmidi=NULL -M0 --midi-key=4 --midi-velocity-amp=5 -m0d
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 64
nchnls = 2
0dbfs = 1

;triggering samples...
instr 1
event_i "i", 99, 0, .25, p4
endin‹‹

;sampler instrument
instr 99
iTable = p4
p3 = ftlen(iTable) 
aOut loscil3 1, 1, iTable, 1, 0;
outs aOut, aOut
endin

</CsInstruments>  
<CsScore>
f1 0 1024 10 1 
f60 0 0 1 "Samples/YOKIK1.wav" 0 4 1
f61 0 0 1 "Samples/YOSNR1.wav" 0 4 1
f62 0 0 1 "Samples/YOHAT1.wav" 0 4 1
f63 0 0 1 "Samples/YOKIK2.wav" 0 4 1
f64 0 0 1 "Samples/YOKIK2_2.wav" 0 4 1
f65 0 0 1 "Samples/YOSNR2.wav" 0 4 1
f66 0 0 1 "Samples/YOHAT2.wav" 0 4 1
f67 0 0 1 "Samples/YOKIK3.wav" 0 4 1
f68 0 0 1 "Samples/YOSNR3.wav" 0 4 1
f69 0 0 1 "Samples/YOHAT3.wav" 0 4 1
f70 0 0 1 "Samples/YOKIK4.wav" 0 4 1
f71 0 0 1 "Samples/YOSNR4.wav" 0 4 1
f72 0 0 1 "Samples/YOHAT4.wav" 0 4 1
f73 0 0 1 "Samples/YOKIK5.wav" 0 4 1
f74 0 0 1 "Samples/YOSNR6.wav" 0 4 1
f75 0 0 1 "Samples/YOHAT5.wav" 0 4 1
f76 0 0 1 "Samples/YOKIK6.wav" 0 4 1
f77 0 0 1 "Samples/YOSNR6.wav" 0 4 1
f78 0 0 1 "Samples/YOHAT6_2.wav" 0 4 1
f79 0 0 1 "Samples/YOKIK7.wav" 0 4 1
f80 0 0 1 "Samples/YOSNR7.wav" 0 4 1
f81 0 0 1 "Samples/YOHAT7.wav" 0 4 1
f82 0 0 1 "Samples/YOKIK9.wav" 0 4 1
f83 0 0 1 "Samples/YOSNR9.wav" 0 4 1
f84 0 0 1 "Samples/YOHAT9.wav" 0 4 1
f85 0 0 1 "Samples/13YOKICK.wav" 0 4 1
f86 0 0 1 "Samples/13 YOSNR.wav" 0 4 1
f87 0 0 1 "Samples/13 YO HAT.wav" 0 4 1
f88 0 0 1 "Samples/13 YO HAT2.wav" 0 4 1
f89 0 0 1 "Samples/14 YO KICK.wav" 0 4 1
f90 0 0 1 "Samples/14 YO SNR.wav" 0 4 1
f91 0 0 1 "Samples/14 YOHAT.wav" 0 4 1
f92 0 0 1 "Samples/15 YOKICK.wav" 0 4 1
f93 0 0 1 "Samples/15 YOSNR.wav" 0 4 1
f94 0 0 1 "Samples/15 YOHAT2.wav" 0 4 1
f95 0 0 1 "Samples/15 YOHAT.wav" 0 4 1
f96 0 0 1 "Samples/16 YOKICK.wav" 0 4 1
f97 0 0 1 "Samples/16 YOSNR.wav" 0 4 1
f98 0 0 1 "Samples/16 YOHAT2.wav" 0 4 1
f99 0 0 1 "Samples/16 YOHAT.wav" 0 4 1
f100 0 0 1 "Samples/17 YOKICK.wav" 0 4 1
f101 0 0 1 "Samples/17 YOSNR.wav" 0 4 1
f102 0 0 1 "Samples/17 YOHAT.wav" 0 4 1
f103 0 0 1 "Samples/18 YOKICK.wav" 0 4 1
f104 0 0 1 "Samples/18 YOSNR.wav" 0 4 1
f105 0 0 1 "Samples/18 YO HAT.wav" 0 4 1
f106 0 0 1 "Samples/18 YOHAT2.wav" 0 4 1
f107 0 0 1 "Samples/19 YOKICK.wav" 0 4 1
f108 0 0 1 "Samples/19 YOSNR.wav" 0 4 1
f109 0 0 1 "Samples/19 YOHAT.wav" 0 4 1
f110 0 0 1 "Samples/20 YOKICK.wav" 0 4 1
f111 0 0 1 "Samples/20 YOSNR.wav" 0 4 1
f112 0 0 1 "Samples/20 YOHAT.wav" 0 4 1
f113 0 0 1 "Samples/21 YOKICK.wav" 0 4 1
f114 0 0 1 "Samples/21 YOSNR.wav" 0 4 1
f115 0 0 1 "Samples/21 YOHAT.wav" 0 4 1
f116 0 0 1 "Samples/22 YOKICK.wav" 0 4 1
f117 0 0 1 "Samples/22 YOSNR 2.wav" 0 4 1
f118 0 0 1 "Samples/22 YOSNR.wav" 0 4 1
f119 0 0 1 "Samples/22 YOHAT.wav" 0 4 1
f120 0 0 1 "Samples/23 YOKICK.wav" 0 4 1
f121 0 0 1 "Samples/23 YOSNR.wav" 0 4 1
f122 0 0 1 "Samples/23 YOHAT.wav" 0 4 1
f123 0 0 1 "Samples/24 YOKICK.wav" 0 4 1
f124 0 0 1 "Samples/24 YOSNR.wav" 0 4 1
f125 0 0 1 "Samples/24 YOHAT3.wav" 0 4 1
f126 0 0 1 "Samples/24 YOHAT2.wav" 0 4 1
f127 0 0 1 "Samples/24 YOHAT.wav" 0 4 1
f2 0 0 1 "Samples/25 YOKICK.wav" 0 4 1
f3 0 0 1 "Samples/25 YOSNR.wav" 0 4 1
f4 0 0 1 "Samples/25 YOHAT3.wav" 0 4 1
f5 0 0 1 "Samples/25 YOHAT2.wav" 0 4 1
f6 0 0 1 "Samples/25 YOHAT.wav" 0 4 1
f7 0 0 1 "Samples/26 YOKICK.wav" 0 4 1
f8 0 0 1 "Samples/26 YOSNR.wav" 0 4 1
f9 0 0 1 "Samples/26 YOHAT3.wav" 0 4 1
f10 0 0 1 "Samples/26 YO HAT2.wav" 0 4 1
f11 0 0 1 "Samples/27 YOKICK.wav" 0 4 1
f12 0 0 1 "Samples/27 YOSNR.wav" 0 4 1
f13 0 0 1 "Samples/27 YOHAT3.wav" 0 4 1
f14 0 0 1 "Samples/27 YOHAT2.wav" 0 4 1
f15 0 0 1 "Samples/28 YOKICK.wav" 0 4 1
f16 0 0 1 "Samples/28 YOSNR1.wav" 0 4 1
f17 0 0 1 "Samples/28 YOHAT2.wav" 0 4 1
f18 0 0 1 "Samples/28 YOHAT.wav" 0 4 1
f19 0 0 1 "Samples/29 YOKICK.wav" 0 4 1
f20 0 0 1 "Samples/29 YOSNR.wav" 0 4 1
f21 0 0 1 "Samples/29 YOKHAT.wav" 0 4 1
f22 0 0 1 "Samples/30 YOKICK.wav" 0 4 1
f23 0 0 1 "Samples/30 YOKICK2.wav" 0 4 1
f24 0 0 1 "Samples/30 YO SNR.wav" 0 4 1
f25 0 0 1 "Samples/30 YOHAT.wav" 0 4 1
f26 0 0 1 "Samples/31 YO KICK1.wav" 0 4 1
f27 0 0 1 "Samples/31 YOSNR.wav" 0 4 1
f28 0 0 1 "Samples/31 YOHAT.wav" 0 4 1
f29 0 0 1 "Samples/32 YOKICK.wav" 0 4 1
f30 0 0 1 "Samples/32 KICK2.wav" 0 4 1
f31 0 0 1 "Samples/32 YOSNR.wav" 0 4 1
f32 0 0 1 "Samples/32 YO HAT.wav" 0 4 1
f33 0 0 1 "Samples/33 YOKICK.wav" 0 4 1
f34 0 0 1 "Samples/33 YOSNR.wav" 0 4 1
f35 0 0 1 "Samples/33 YOHAT.wav" 0 4 1
f36 0 0 1 "Samples/33 HAT2.wav" 0 4 1
f37 0 0 1 "Samples/34 YOKICK.wav" 0 4 1
f38 0 0 1 "Samples/34 YOSNR.wav" 0 4 1
f39 0 0 1 "Samples/34 YOHAT1.wav" 0 4 1
f40 0 0 1 "Samples/34 YOHAT.wav" 0 4 1
f41 0 0 1 "Samples/35 YOKICK.wav" 0 4 1
f42 0 0 1 "Samples/35 YOSNR.wav" 0 4 1
f43 0 0 1 "Samples/35 YOHAT2.wav" 0 4 1
f44 0 0 1 "Samples/35 YOHAT.wav" 0 4 1
f45 0 0 1 "Samples/36 YOKICK1.wav" 0 4 1
f46 0 0 1 "Samples/36 YOKICK2.wav" 0 4 1
f47 0 0 1 "Samples/36 YOSNR.wav" 0 4 1
f48 0 0 1 "Samples/36 YOHAT.wav" 0 4 1
f49 0 0 1 "Samples/37 YOKICK.wav" 0 4 1
f44 0 0 1 "Samples/37 YOSNR.wav" 0 4 1
f50 0 0 1 "Samples/37  YOHAT.wav" 0 4 1
f51 0 0 1 "Samples/37 YO HAT2.wav" 0 4 1
f52 0 0 1 "Samples/38  YOKICK.wav" 0 4 1
f53 0 0 1 "Samples/38 YOSNR.wav" 0 4 1
f54 0 0 1 "Samples/38 YOHAT.wav" 0 4 1
f55 0 0 1 "Samples/39 YOKICK.wav" 0 4 1
f56 0 0 1 "Samples/39 YOKICK2.wav" 0 4 1
f57 0 0 1 "Samples/39 YOSNR.wav" 0 4 1
f58 0 0 1 "Samples/39 YOHAT.wav" 0 4 1
f59 0 0 1 "Samples/39 YOHAT2.wav" 0 4 1
f44 0 0 1 "Samples/40 YOKICK.wav" 0 4 1
f44 0 0 1 "Samples/40 YOSNR.wav" 0 4 1
f44 0 0 1 "Samples/40 YOHAT.wav" 0 4 1
f44 0 0 1 "Samples/41 YOKICK.wav" 0 4 1
f44 0 0 1 "Samples/41 YOSNR.wav" 0 4 1
f44 0 0 1 "Samples/41 YOHAT.wav" 0 4 1
f44 0 0 1 "Samples/42 YOKICK.wav" 0 4 1
f44 0 0 1 "Samples/42 YOKSNR.wav" 0 4 1
f44 0 0 1 "Samples/42 YOHIHAT.wav" 0 4 1
f44 0 0 1 "Samples/43 YOKICK.wav" 0 4 1
f44 0 0 1 "Samples/43 YOSNR.wav" 0 4 1
f44 0 0 1 "Samples/43  YOHAT.wav" 0 4 1
f0 0 0 1 "Samples/45 YOKICK.wav" 0 4 1
f1 0 0 1 "Samples/45 YOSNR.wav" 0 4 1
f0 3600
</CsScore>
</CsoundSynthesizer>

Which effect are you looking to add? I would recommend looking at the examples, you will find some good stuff there. If you’re having trouble using sliders to control parameters, try to create a new “effect” project, this includes a gain-knob that is already set up correctly.

Yeah, you need to give us a little more information. Also, can you format your code, otherwise it’s not readable. Just select it and click the <\> button.

To add an effect it’s usually best to create a new instrument for that affect. I mentioned the same thing to @HACKY yesterday. For example, to add a delay to your sampler you can do this:

;triggering samples...
instr 1
event_i "i", 99, 0, .25, p4
endin

;sampler instrument
instr 99
iTable = p4
p3 = ftlen(iTable) 
aOut loscil3 1, 1, iTable, 1, 0;
outs aOut, aOut
chnset aOut, "samplerOut"
endin  

instr Delay 
aSig chnget "samplerOut"
aDel comb aSig, 3, .2
outs aDel, aDel
chnclear "samplerOut"
endin

schedule("Delay", 0, 3600)

Instead of starting the delay instrument using the CsScore section as I did in the example I posted @HACKY, this time I use the schedule opcode to do it. Anyway, you can add any effect this way. You can leave the fx instruments running all the time if you like, you just need to add a few controls to enable or disable it in real time.

`indent preformatted text by 4 spaces`[yo drums.zip|attachment](upload://oEEgFs0fytreYAXKP5Jq0SekL6o.zip) (1.1 MB)

Sorry @djalexx1 I htink I just accidently sent you a read guidelines messages :rofl: You don’t need to format code when you upload code in a zip file. You only need to format code that you paste directly into your message.

1 Like

i check all examples, i cant seem to find a way to copy and paste what i want, no matter how mucho i re write the code in the corresponding in/outs and other stuff, i also started from scratch buti just can work my way after the first knob, i can create knobs, assign name, fix them, but no luck on coding them, i might need to stop building an re start learning more,because defenetly its me, thanx for your help

Have you gone over the video tutorials? Adding Cabbage widgets and things like that is relatively easy in comparison to understanding Csound. The video toots are a little dated, but the information is still 100% valid.

i will go again and see it slow and write everything down, thank yo so much for your help, i add the fx script you gave me and it works, i dont know how to apply the knob to control it, ive try all i know ( that its not much) and cant control it, but i imagine whatching the videos i will find out. thanx again

If you can’t get past it, it’s always good to try to prepare a very simple example and post it. I find that in many cases, the very act of simplifying an example to share with the forum results in my finding the solution to the very problem I was going to ask about!

yosample.csd (11.6 KB)

ok,so after sending you the .csd i decided to try to change the bundle scripting, now i got all sounds working perfect on the vst in ableton bbefore the size of the vst was 6 kb, now its 227.3 what make sense for all the samples, i cant add a sample on the first key, i noticed another code with the same description as the f0 key, i will post photo, i take out the delay you sent me just to try to code the reverb but i couldnt, i still have a copy saved with the code with your delay,all i need its to connect the knob to control it , also i love the peeeeeew effect on the examples of cabbage , i will love to use it, im gonna make a simpler version of this it so u can take a look now its a little better finished

yo sampler cabbage.csd (2.4 KB)

You can’t have a function table numbered 0. The f0 0 z you see is a special command that tells Csound to wait and respond to any incoming events. We usually use f0 0 z for synthesisers that are not always on.

im trying to add knob to control the delay,also i had a volume knob that controlled volume, i did multiple combinations but it keeps doing the reverb or no sound, in this example i got sound but fx cant be controlled neither the volume that i had working with the volume knob, im guessing it has to do with “samplerOut” but i can find what it is,

rslider channel(“delay”), bounds(12, 126, 196, 231), text(“Effect”), range(0, 3600, 10000, 1, 0.001)imgfile(“Slider”, “…/…/Downloads/Untitled design-21.png”) trackercolour(0, 255, 255, 0) markercolour(255, 0, 0, 0) outlinecolour(255, 0, 0, 0) textcolour(0, 0, 0, 0) alpha(0.96) trackerinsideradius(0.2) trackeroutsideradius(0.65) identchannel(“delay”)
rslider channel (“volume”), bounds(604, 124, 194, 191), text(“Volume”), range(0, 1, 0.5, 1, 0.001)imgfile(“Slider”, “…/…/Downloads/Untitled design-21.png”) trackercolour(0, 255, 255, 0) markercolour(255, 0, 0, 0) outlinecolour(255, 0, 0, 0) textcolour(0, 0, 0, 0) alpha(0.96) trackerinsideradius(0.6) trackeroutsideradius(0.6)

image bounds(314, 8, 179, 72) file("…/…/Downloads/Copy of supertonic.png")
image bounds(256, -40, 320, 179) file("…/…/Downloads/W.png")

-n -d -+rtmidi=NULL -M0 --midi-key=4 --midi-velocity-amp=5 -m0d sr = 44100 ksmps = 64 nchnls = 2 0dbfs = 1

;triggering samples…
instr 1
event_i “i”, 99, 0, .25, p4
endin

;sampler instrument
instr 99

kVol chnget “volumen”
kDel chnget “delay”

iTable = p4
p3 = ftlen(iTable)
aOut loscil3 1, 1, iTable, 1, 0;

outs aOutkVol, aOutkVol
chnset aOut, “samplerOut”
endin

instr Delay

aSig chnget “samplerOut”
aDel comb aSig, 3, .2
outs aDel, aDel

chnclear “samplerOut”

endin

schedule(“Delay”, 0, 3600)

Can you edit your post and format your code, I can’t tell if the errors I see are in your code or a result of the weird way it’s presented. To format it, just copy and paste the entire code, then select it in the ditor and hit the “</>” button. Cheers.

black .csd (2.7 KB)

i got the volume working now, and also can control the delay, but in a wrong way, since im using (the star symbol used for the gain) in the kDel its working as a volume, i understand that itis like a multiplier or something like that andi understand its not the right one for this applcation, thanx, also , tomorrow its my day off i will check the cabbage pro in my newer mac.