New Tool (3.1): PhraseMate

Hey, thanks. I take it as a nice ‘you read my mind’ type complement.
Because, like I mentioned, I probably wouldn’t have come up with this idea myself.

(1) In the “Enter name of phrase field”: Allow the auto-complete/search to be optionally checkboxed for becoming hidden and disabled, only allowing for the precise manual text input + Return.

Not sure I get the advantage of having to type the entire name. I mean, you can do that anyway, usually it’s just not required?

(2) In the “Mode” pull-down menu: Allow for a new option - Insert at pattern editor cursor. Meaning a one shot (1X times) writing at the current editor cursor position in the pattern editor. Would speed up things in the workflow quite a lot.

Yes, absolutely - this was on the TODO list, just didn’t make it.
Actually I intended it as a switch, “relative to cursor position” or something like that. But now I can see that it might be better to have it as a separate mode. Because, then it can be accessed with keyboard shortcuts and via the smart-write dialog.

Another way to speed up the workflow would be if the dialog has a checkbox which, when enabled, would let you apply the phrase as soon as you make a match by typing and hitting return.

1.7 and 1.7.1 break phrase reading for me.

If I select part of a pattern and choose “Create phrase from selection” I get: “main.lua:148: variable ‘INPUT_SCOPE’ is not declared” and no phrase is created.

If I open the settings window and choose “Selection in pattern” and then click “Collect phrases” it shows the error: “./source/PhraseMateUI.lua:658: attempt to call method ‘invoke_task’ (a nil value)” and successfully creates the phrase.

1.7 and 1.7.1 break phrase reading for me.

I will put out a new version over the weekend to fix this.Thanks!

Hi Danoise!

Just wanted to report a script error message that I get.:

When I select content in the pattern and select “create phrase from selection” in the context menu to collect the content, I get this following error script message (input scope not declared) on the version 1.71

main.lua:148: variable ‘INPUT_SCOPE’ is not declared
stack traceback:
[C]: in function ‘_error’
[string “local mt = getmetatable(_G)…”]:29: in function <[string “local mt = getmetatable(_G)…”]:24>
main.lua:148: in function main.lua:146

Picture:https://postimg.org/image/tpxy5ni0j/

thanks for your hard work…

cheers!

I will put out a new version over the weekend to fix this

Ehe, yes, caught in a backlog of sorts. But it’s not forgotten.

khmmm :slight_smile:

Bugfix release v1.72. Get it from the tool page

FIXME [Read] Fixed error when using custom source/target instrument 
FIXME [Read] When using custom source + same instrument (target), it picked the wrong instrument as target (the next instrument in the list)
FIXME [Read] “Selection in pattern” : when cursor is parked in a different track than the one containing the selection, that track was used as the source
FIXME [Read] Using context menu to collect content accidentally got broken

Looking good! Collecting phrases from the pattern editor still seems to have trouble… I tried it once with using the window, with “Replace notes with Zxx” enabled. It collected the phrases, but cleared the pattern editor – no Zxx command. Then when I tried using the “create phrase from selection” context menu item, it collects the phrase but doesn’t change the pattern at all.

Collecting phrases from the pattern matrix and replacing them with Zxx works great though!

Renoise 3.1
AV Studio Linux

No function works,

The “create phrase from selection” spits this out for example:

/home/akiz/.renoise/V3.1.0/Scripts/Tools/com.renoise.PhraseMate.xrnx/’ failed to execute in one of its menu entry functions.

Please contact the author (danoise [bjorn.nesby@gmail.com]) for assistance…

./source/PhraseMate.lua:666: attempt to index local ‘self’ (a nil value)

stack traceback:

./source/PhraseMate.lua:666: in function ‘fn’

./source/cLib/classes/cLib.lua:41: in function ‘invoke_task’

main.lua:134: in function main.lua:133

We’re squashing quite a few bugs here!!

v1.73 fixes the following things

FIXME Mappings, menu items not working when app not yet initialized (dialog shown)
FIXME Missing “finalize action” for some scopes (replace with Zxx)
FIXME A few missing guards (GUI-less operation)

I might be being really thick here - but I’d simply love to render a sliced break to a phrase to keep the timing intact at my chosen tempo - then be able to copy the phrase into the main pattern window…

Please could someone walk me through the steps? Or, I might just need to man up and need more coffee / sleep.

Running Renoise 3.1 - tool installed via dragging into open Renoise session.

Thanks!

Once you have rendered the slice to a phrase (by right clicking a slice marker), it should be as a simple as PhraseMate > Write > Write to track

(or use the available keyboard shortcuts)

Found a bug I think - Setting Loop in Batch-apply or single mode seems to have no effect

Thanks

Hey danoise,

currently trying to wrap my brain again around that scaling feature for phrases: I would like to actually see the “re-scaled” notes directly in the pattern. So I put a single c-4 into the phrase to be able to use the scales. But now I would like to “render” that note patches directly into the front pattern (so I later can deactivate the scale and it still sounds the same)… Is that possible with this tool, and if not, is there already a way to do that? So destructive renoise scaling to pattern-track. Thanks!

EDIT: Could I use “xScale.restrict_to_scale(note_value,scale_idx_or_name,scale_key)” from xLib?

EDIT: Could I use “xScale.restrict_to_scale(note_value,scale_idx_or_name,scale_key)” from xLib?

Yes, that would be it. It’s a planned feature cough -I’m quite busy these days, wouldn’t have time to do it myself.

But all the fundamentals should be in place…and if you’re planning to go ahead with this, I would be happy to help…

Yes, that would be it. It’s a planned feature cough -I’m quite busy these days, wouldn’t have time to do it myself.

But all the fundamentals should be in place…and if you’re planning to go ahead with this, I would be happy to help…

Thanks, added this now in a lame way into tuned shortcuts, line 1025++. Currently does not render any phrase notes into the front track, so only works for fake “C-4” phrases.

Looking forward seeing this within this tool :slight_smile:

EDIT: Also something fishy is going on, the result after rendering phrase + disabling the phase still does not seem to be identical, e.g. an instrument (with fake c-4 phrase) playing a C#6, applied with scale key G and scale “pentatonic major” will result in a C-6, but should be a B-5.

Cool.

I think I’ve only tested against un-transposed notes so far :blush:.

I’ll add a unit test for xScale which covers this scenario.

Wow thanks!

hey danoise, any chance to see a xlib fix soon? Or later? Sorry, if getting on nerves :blush:

hey danoise, any chance to see a xlib fix soon?

I just committedsomething. According to the tests, I’ve fixed the issue - would be great if you could confirm this?

Here’s a link to the raw file (xScale.lua)