Edited by cyaoeu, 10 December 2017 - 22:24.

Phrase triggering questions
#1
Posted 10 December 2017 - 22:23
- Circe likes this
#2
Posted 11 December 2017 - 22:25
It's probably not too hard to edit PhraseMate to get the behavior I want but I don't really know the Renoise API. Right now it sets the phrase to the selected phrase (at elseif fx_col.is_empty then
#3
Posted 12 December 2017 - 11:50
1. It seems like the Zxx command only overrides the phrase being played instead of actually changing the "clicked" phrase. Is there a reason for this? Because of this you have to insert Zxx everywhere when you want to change the note but keep the phrase instead of just when you want to change the phrase that should play (or Z00 to stop using phrases).
That's true, a Zxx command is associated with a note.
I found myself in the same situation as you, as I use phrases a lot and often forget to "lock" the phrase using the Zxx command. Hence the PhraseMate tool.
3. Finally I tested the MIDI program change method of changing the phrase (M2 xx yy) and saw that it actually changed the "clicked" phrase unlike Zxx which is great because it's the behavior I wanted, but I also noticed it behaved a bit strange. It seems like it doesn't affect the note where you add the effect but instead any note after that.
Also true, the program change (MIDI) command affects all notes arriving _after_ the command.
I think it makes sense, because the program change is something you're likely to record in realtime. You can't press two buttons at the *exact* same time

PhraseMate deals with Zxx commands, but I'm also not completely satisfied with how it works.
The thing I'm mostly missing is a "batch-apply" which inserts Zxx commands across the pattern/song/whatever, using the currently selected phrase.
Perhaps your idea is possible too - but I'm not sure what you mean by "closest phrase"?
Tracking with Stuff. API wishlist | Soundcloud
#4
Posted 12 December 2017 - 19:35
Perhaps your idea is possible too - but I'm not sure what you mean by "closest phrase"?
Closest phrase just means it looks at the previous note in the pattern, checks if it has a Zxx command, if it does have one it checks the actual phrase value and that is then the closest phrase. Meaning when you enter a new note you use the same phrase as the previous note (in the pattern) that had a phrase which to me makes more sense then the "enter active phrase" thing.
I guess the name doesn't make too much sense, closest phrase implies it could also check after the note being entered and if a note is found that is closer than the previous note it could use that phrase instead. But I think it's more reliable to just use the previous phrase used in the pattern, that way you basically always get what you want. Having a key that switches the Zxx command to use the phrase of the next note with a Zxx command could be useful though.
The name doesn't matter too much as long as it does what I want it to.
#5
Posted 14 December 2017 - 20:14
Kind of got it working, got a bunch of errors before so not sure everything is working but anyway, you should get a better idea of what I want to do.
Added to PhraseMate.lua in the handle_modified_line function:
local closest_phrase = nil
local pattern_iter = renoise.song().pattern_iterator