YAY! that did it. it’s a bit clicky when updating, but otherwise it seems to work perfectly! unless I forgot a notifier for some GUI element of course. I will review it later today, make a note of the changes and send that to it-alien.
and yes, I really need to read some basic LUA tuts before I progress further, I don’t know anything.
I vote for github.
Git is way better than SVN for such a thing (note: not EVERYthing!), as it is highly community driven. The distributed nature of git works like a charm for such projects, as you don’t have to manage commit rights. It takes a little time to get used to the distributed, fork-driven development, but it’s worth it. I tend to manage all of my private coding using git, whether public or not.
well, the latest news is that somewhere between cleaning it up, adding stuffs I broke it haha… the thing I sent it-alien stops auto-updating as soon as you change operator tabs, and I swear it didn’t do that earlier
I am really clueless as to why that’s happening now, and to be honest there’s only so much staring at code I hardly know I can take in one day, so I’ll have another go tomorrow I think…
I don’t know if Johann is referring to the fix I have sent him some minutes ago, anyway I have also fixed it
this auto-generation system works very well and it is very comfortable to use; I actually think the “Generate” button is superfluous now and should be removed, leaving auto-generation always enabled, what do you think?
edit: if you want to try out the automatic generation in order to decide if Generate button should be removed, use the attached version
This really works great for very small waves! At base note C-0 this is very noticeable though. I’d keep it as option. Maybe simply turn it on by default?
And here’s a patch (well, file) to make the GUI pretty again:
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 ^^
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.
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?
“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
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)
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 (?)
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
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]