Hax0Ring The Custom Waveform Generator

yeah, it “breaks” (the continuous playback) quickly with longer samples, and

I was referring to the two emails I sent you after that and the attachment, which got lost in transit (I got the failure notice two hours ago uhhh?), and I just now resent:

so yeah, even though I didn’t know WHY, I found the fix already :D ^^

unless you made other changes in the meantime, please take the file I just resent.

I also started to add sliders, that is for “number of real cycles” and the “frequency multiplier” of operators, and that’s kinda neat as well, but the slider shows also up for wavetypes where it shouldn’t (e.g.) noise, so I’ll keep that to myself for now harrrr.

:D

you know what, I’ll just download that and do the two little changes of mine that got lost to that, and upload it here?

for some reason I’m not getting mails from you anymore. please check the errors you received

“I’m not going to try again; this message has been in the queue too long.”

sounds like a love song, but that’s the failure notice :lol:

Okay. I downloaded what It-Alien uploaded, overwrote gui.lua with the one taktik posted and then I applied my two changes to it.

I also added a slider for “number of cycles”, though that may not be everybodies cup of tea… well it can be easily removed, consider it a suggestion ^^

I tried adding a slider to frequency multiplicators of operators, too, because there it’s actually useful, but it shows up even for wavetypes where it shouldn’t (e.g. noise), so I left that out for now.

(note that manifest isn’t updated and still at version 0.4)

well I wasn’t so sure about that, since it overwrites samples as soon as you touch a slider?

about number of cycles as a slider:

I’m not sure this is the best option: you usually need a precise, integer value of cycles, that’s why I think that the textbox is a better choice

Spinbox maybe?

you still have that, they’re just linked. (which by the way couldn’t hurt for the amplitude slider/text field combo?)

but yeah, for the cycles thing it’s really not that useful, if not to say useless, just a random thing to try haha…

for the frequency multiplier of individual operators it would rock though, because you can change that one without the sample length changing => without playback stopping (unless the sample is too long), though maybe one of those thin sliders would be better (?)

I have updated the tools page to reflect latest changes by Johann (v. 0.51)

AWESOME thanks :drummer:

yay! I hope it didn’t cause much more work than it saved hehe :D

don’t worry, I have just reviewed the funtionality. The cycles slider is fine because you can still enter the value in the valuefield so it’s better than having the editbox only

Cheers. As I mentioned, I wanted to make a slider for frequency multiplier of the operators, too, because that is even more fun to play with, as it doesn’t change the length of the sample. (so you tweak that without interrupting playback, on short enough samples at least)

But that also showed up where it shouldn’t (or rather, where the “freq multiplier” text input disappeared, the slider stayed), and since it was the very first day I came into contact with LUA and the Renoise viewbuilder, I just gave up and removed it again :lol:

Great update, auto updating, making some changes on the fly while playing the song, trying to add a wave ‘Mod Ampl’ to slot 6, I got:

[i]"Script ‘C:\Users\plugexpert\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\com.renoise.CustomWave.xrnx\main.lua’ failed in one of its notifiers:

.\operators.lua:86: attempt to index local ‘buffer’ (a number value)
stack traceback:
.\operators.lua:86: in function ‘?’
main.lua:217: in function ‘operate’
main.lua:292: in function ‘process_data’
main.lua:368: in function ‘generate’
.\gui.lua:463: in function <.\gui.lua:460>"
[/i]

EDIT:

Clicking slot 2 after closing the error notice, I got:

[i]"Script ‘C:\Users\plugexpert\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\com.renoise.CustomWave.xrnx\main.lua’ failed in one of its notifiers:

.\operators.lua:86: attempt to index local ‘buffer’ (a number value)
stack traceback:
.\operators.lua:86: in function ‘?’
main.lua:217: in function ‘operate’
main.lua:292: in function ‘process_data’
main.lua:368: in function ‘generate’
.\gui.lua:483: in function <.\gui.lua:480>
[C]: ?
[C]: in function ‘__newindex’
[string “do…”]:22: in function <[string “do…”]:11>
.\gui.lua:88: in function ‘change_tab’
.\gui.lua:418: in function <.\gui.lua:417>"

[/i]

After trying to replicate the error, again using ‘wave’ in slot 6 for multiplication, I also got the following notice:

[i]"Script ‘C:\Users\plugexpert\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\com.renoise.CustomWave.xrnx\main.lua’ failed in one of its notifiers. The notifier will be disabled to prevent further errors:

std::logic_error: ‘add notifier: the given function was already added to this notifier.’
stack traceback:
[C]: in function ‘add_notifier’
.\gui.lua:39: in function <.\gui.lua:33>"
[/i]

I can reproduce this when trying to define a WAVE operator as an amplitude modulator of another operator, without having defined which sample should be used as wavetable (id est: you didn’t touch the instruments and samples lists leaving those parameters unused).

of course the crash should not happen and you should be only warned about it, but anyway take in mind that a WAVE operator is not well defined until you choose the sample to be associated with it.

edit: whoops, seems to happen even when defining the wavetable, sorry

ok, I have fixed the problem plus fixed a more general problem when using more than one operator but not in sequence (using operator 1, 3, 5 and not 2, 4, 6 for example).

version 0.6 published on tools page

Thanks!

While I personally don’t find too many things of the last update too useful (from a pure musicians point), this one is definitely one of the real burners. Still one little thing I’d love to have added is the amplification displayed in db per operator. Just in the same way as you’ve already implemented it for the overall amplitude (with the extended slidebar, too). Also it would be great to be able to enter the amplitude directly as text/numbers for both amplitude params.

Thanks in anyway for this very handy thing. :)

-BA

Edit: Well, two more things, which would be awesome is a phase setting for each operator and a basenote setting per operator. While “phase” doesn’t mean the stereo phase, but the starting point of the operator wave. For example a phase 50% or 180° for a single cycled saw would select exactly the middle (zero line) of the saw wave as starting point.