How to trigger samples

How did you attach it to your rackspace?

Sure though I could copy it from your previous post. I just donā€™t have clue how attach script to rackspace/gig file. Where, how do I do that. Relatively new to GO and have never used scripts.

Dear BobR,

I use all 7 lanes. Have been doing this for a while and it works perfectly. But yes, I experimented and found this way to do it.

You set up two buttons.

Button 1: Mapping: Audio File Player (Plugin), Play from the Beginning (Parameter), Triggered by lets say C4 (note off)

Button 2: Mapping: Audio File Player (Plugin), Lane 1 Playing (Parameter), Triggered again by C4 (note off)

I donā€™t link them, and simply place them on top of each other, but yes, I guess you could link them within the Widget link, BUT I havenā€™t tried this, and donā€™t actually know if this will provide any benefit.

And BobR

8 lanes, 8 lanes. I had 7 from your text in my head, but itā€™s 8 lanes. And yes, I use ALL 8.

But you have to manually advance lanes with the second button/key correct? Iā€™ve got it this way now but for some songs I need to run through a few one shots fairly rapidly making this procedure cumbersome.

You have both buttons set to the same note. And so one triggers the play sample, while the other the lane. And you can set up buttons for all 8 lanes. So in the end itā€™s one click to trigger the sample, as two buttons with two functions are set up with the same note that triggers them both at the same time in ONE single action. And yes, it needs to be as simple as that. For example: if I want pad 1 on my launchkey to trigger a sample for lane 1 I set up two buttons with the Pad 1 note off midi note number

Iā€™ve recreated the .gig file, try it by loading samples into the Audio File Player and using a controller button in latch mode assigned to CC number 24.

If you prefer to use another CC number, open the rackspace script page (Menu/Window/Current Rackspace Script Editor) and modify it in the location shown in the screenshot.
Donā€™t forget to click Compile before closing this window.

gp-trig-script

Warning: only the hardware controller advances the next sample, not the GP widgets.
Each time you press the controller again, the next sample starts playing and stops automatically at the end, waiting for the next one.

Trig-Oneshot.gig (503.8 KB)

this is exactly what Iā€™m trying to do, plus have the sample trigger sequences at times. I figured that part out, but not how to have it move down a list of samples with a press of a key from the keyboard.

Instead of a ControlChangeEvent, you would respond to a NoteOn event

Itā€™s not a note that triggers the event, but a controller, in the script you can read:
On ControlChangeEvent .
You can use an unmapped controller on your keyboard by looking at its CC number in the Global Midi Monitor window and changing the value 24 in the script to that of your controller.

@Hermon
Yes, but he wants to trigger using a key, not a controller

Doesnā€™t seem too far off to think that you could replace a cc in the script with a note number. Would that work or would you need a whole new script. I donā€™t know. As I said Iā€™m an absolute noob when it comes to script.

I was actually proposing a solution for use with a controller, I thought that pads were also controllers.
For use with the notes (or maybe for pads), perhaps someone with knowledge of scripting can adapt this script.

You probably only need to change this callback from a control change to a note event.
In this example (which I have not tested), C1 is the key to press and each time you press it, it will step to the next track

On NoteEvent(m : NoteMessage) matching C1 from TRIGTRACK
   if IsNoteOn(m)
      then
         SetWidgetValue(TRACK[TRACK_playing], 1.0)

         TRACK_Playing = (TRACK_playing + 1 ) % Size(TRACK)
         SetWidgetValue(PLAY, 1.0)
   end      
End

It works, a note-on triggers the action but the note-off also triggers the action: how do you indicate that the action is triggered by only note-on or note-off?

if IsNoteOn(m)

I forgot to copy: if IsNoteOn(m) then

But now thereā€™s an error on line 35 ( on Activate highlighted in red), even though it says ā€œendā€ on line 38.

s2528

Because you didnā€™t add an End at the end of the IF statement. Please copy my example EXACTLY

1 Like

Ok, I had also forgotten to copy an ā€œendā€. It works. It was laborious, sorry for my time-wasting mistakes.

So, Iā€™m perhaps going to waste a bit of your time again, but this script deserves to have a scriplet with 2 parameters: one to select the number of lanes used and one to select the controller number or note to use to trigger the script.

Of course only if you think that this could be useful to a majority of users.

A Script and a scriptlet do not know each other.
You can map a widget to a scriptlet parameter and then in the script you can make use of the widget values for example.