I dont know if this is exactly a misfunction, but some times i try to send a note on or note off message, but right after the message is sent, a second message with the note off is sent, automaticly…
sendMidiNote(output, channel, prevNote, 0);
also would be great if we could have some latch type button… so we could keep some notes pressed on.
The sendMidiNote sends a Note On followed by a Note Off a few milliseconds afterwards. If you’d like to only send a Note On, you can use sendMidiNoteOn instead
Having the ability to latch a button sounds like a good idea! I’ll check how to best implement this. In the meantime, you could work with a local variable to simulate a latch, e.g.:
It has worked very well! thank you!
by the way…
is there a way to generate a midi note once a song is selected, after I specified the song tone in the position marker? something like: Praise God {G}
By placing a MIDI clip with the MIDI OSC command you’d like to send at the beginning of a song, AbleSet will automatically send it as soon as the song is selected.
You can either use /midi/send/noteOn if you’d like to trigger a note that lasts forever (but you might want to place a /midi/send/noteOff for the same note at the end of your song), or you could use /midi/send/note if you already know the duration of the note and would like AbleSet to automatically send a note off.
If you’re always using the same output and channel, you could save yourself some typing and move the first part of the OSC commands into the track name instead:
Here, the track is called Note +OSC [/midi/send/noteOn "Output" 1] so you only need to specify the name of the note in your clips. You might need a separate track with clips that send a noteOff command to AbleSet at the end of each song.
yeah, I see the idea.
thank you!
actually i am working in a dronepad track with some pad instruments…
I already get it to work from ableset interface with the recomendations you previewsly provided me and some extra adjustments…
you know, set with 12 buttons that works in radial mode and triggers a midi note…
it just work fine, and is set up in a way that from ableset once i press the button the note is hold until I change it or stop it or change the song, and reproduce the pad very well, even in chords, but I was wondering if there was way to also trigger the midi note directly from the song setlist based on the location marker name instead of creating a new OSC track for auto midi triggered notes
as i see the setlist takes the song names from the location markers, and in case we add the {} for details we are able to specify things such as the song key, i though i could learn a osc or script command that read the key withing the {}, and send the midi note out of that key…
however, my final goal is being able to indicate the song key and also being able to actually change the steams key from the ableset interface itself, without needing to go for location markers (i think someone already requested it, thats why i havent aks for it), and that way…
note: as in my performance case it is for mere church multitrack I always use the pro warping mode, and avoid the percussion instruments to get this kind of key changes on the steams.
anyways i know those are future features request.
but really thank you! i appriciete your help. I will be trying your suggestions and find how much it fits my needs. thank you so much for everything
That’s an interesting idea, and I’m hoping to be able to add this kind of scripting flexibility to AbleSet in the future, but for now, I think the OSC track is probably the easiest workaround
One idea I have is the ability to define a script that runs on your computer every time AbleSet is loaded, which can then listen to changes to OSC values or MIDI inputs and act on those dynamically. It could look something like this:
the fallowing script is in a canva button, it does what i was looking for, the problem is I dont have a way to trigger it from ableton, I used the +OSC track with a /midi/send/cc “Ableport” 1 1 127 but the goal is to trigger the button which I cant since ableset only allows me to map certain specific functions to a midi message
// Nombre de la salida MIDI
const output = "Ablesetport";
const channel = 4;
// Leer descripción activa (ejemplo: "C", "D#m", etc.)
const tone = (osc("/setlist/activeSongDescription") ?? "").trim();
// Mapa de tono → nota MIDI
const toneToNote = {
"A": 21,
"Bb": 22,
"B": 23,
"C": 24,
"C#": 25,
"D": 26,
"Eb": 27,
"E": 28,
"F": 29,
"F#": 30,
"Gb": 30,
"G": 31,
"Ab": 32,
};
// Recuperar nota previa
const prevNote = local("activeNote");
if (tone && toneToNote[tone]) {
const note = toneToNote[tone];
// Si hay nota previa, apagarla siempre (aunque sea la misma)
if (prevNote !== undefined) {
sendMidiNoteOff(output, channel, prevNote);
}
// Encender la nota nueva (o la misma)
sendMidiNoteOn(output, channel, note, 100);
setLocal("activeNote", note);
}
I already sent the reques in feature request. but i understand it might or might not be implemented in a future set up…
I wanted to share it to you anyways so you could understand much more the approach i was trying to explain before.