Open kmatheussen opened 7 months ago
I've fixed the code now so that it always changes current instrument when switching block/track, except when playing song. I hope it's not necessary to put back the "lock instrument" functionality. It's quite efficient to switch current instrument now by right-clicking the "switch instrument" button and assigning a shortcut, so that might be an okay workaround. But if not, it's still possible to revive "lock instrument".
Did a quickcheck. The sampleplayer doesn't show the loaded sample at all ( not even in another track like before ). Erm ... it changes but you have to switch to another track and then back to the newly created sampleplayer. Fluidsynth behaves the same but the track I switched to now got renamed to the same instrumentname. Happens occationally. I am working with a mouse to do so just in case you wonder.
Can you provide a recipe? Because I don't know what you are talking about. When doesn't the sample player not show the loaded sample?
Just add a new sampleplayer and load a sample.
When adding another sampleplayer the sample loaded changes the trackname of the sampleplayer to the left.
Just add a new sampleplayer and load a sample.
Seems to work fine. What part of the program are you thinking of when you say "doesn't show the loaded sample"?
When adding another sampleplayer the sample loaded changes the trackname of the sampleplayer to the left.
Can you provide a recipe? I don't understand what you mean.
Did a short screenrecording. Couldn't attach it here. https://0x0.st/HFxH.mp4.gz
Seems to work fine. What part of the program are you thinking of when you say "doesn't show the loaded sample"?
The trackname ( heading ) which is also displayed on the upper-left in the instrumenttab.
Thank you, should be fixed.
Could not find "711620joshstovallcymbal-roll.wav" in ".".
That's what I get when I try to load that new demosong.
fixed
On Sat, Mar 16, 2024 at 3:58 PM yust1n @.***> wrote:
Could not find "711620joshstovallcymbal-roll.wav" in ".".
That's what I get when I try to load that new demosong.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2002011906, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J3QOWMX7DQTTKUVXBTYYRM2VAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBSGAYTCOJQGY . You are receiving this because you authored the thread.Message ID: @.***>
Nice. Even when on a track and changing to editmode the instrument in the actual editortrack gets used and when disabling the editmode the original instrument gets played. Didn't recheck the demosong but the rest looks fine at the moment.
Great. If there's still situations where current instrument is not changed when it should, you can probably fix it brute-forcely by applying this patch, instead of reverting all changes:
diff --git a/Qt/Qt_instruments.cpp b/Qt/Qt_instruments.cpp index 1742c6c0c..bf8fc2fc4 100644 --- a/Qt/Qt_instruments.cpp +++ b/Qt/Qt_instruments.cpp @@ -849,7 +849,7 @@ static void GFX_PP_Update_internal(struct Patch *patch, bool is_loading, bool op
if (open_even_if_locked == false){ printf("Gakk\n");
open_even_if_locked = true; }
And to fix it properly, it's probably just putting a breakpoint inside that if-test and see where the wrong argument came from.
On Sat, Mar 16, 2024 at 4:29 PM yust1n @.***> wrote:
Nice. Even when on a track and changing to editmode the instrument in the actual editortrack gets used and when disabling the editmode the original instrument gets played. Didn't recheck the demosong but the rest looks fine at the moment.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2002020991, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3JZT7IAUDBKUVOBEKULYYRQNDAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBSGAZDAOJZGE . You are receiving this because you authored the thread.Message ID: @.***>
Wow ... found another bug related to this topic. When you select a seqtrack in the modularmixer there is also an instrumenteditor for it. It still changes :( <<< I should have taken a videosnapshot. Can't reproduce it today ^^ <<< got it !!! Happens only when the Sequencer is in Windowmode. <<< Wrong again. Seems only to happen when an audiotrack is selected in the sequencer ( maybe any other track expect the Main seqtrack ). <<< added !isSeqlooping to prevent this Maybe seqtracks should also be added to the instrumentlist. <<< I was blind. They are part of the list.
BTW is there a difference when pitching a sample in the sampleplayer by playing a note compared to the pitch that can be applied to a sample in a seqtrack ? <<< solved this by setting grainlength to max and all others to min :) Unfortunatelly the max. grainlength is 1000ms which is to short for what I am doing :( Seems there is no way to turn off granulation in seqtracker .... hmmm. Outch. Granulation gets forced when a sample is stretched ( but I just pitched it ). So this really differs from sampleplayer and makes it "unusable" for samples longer than 1 second. Sounds like it should be with granulation turned off so all I need is a button in the gui but there seems to be no .ui-file for this job.
When you select a seqtrack in the modularmixer there is also an instrumenteditor for it. It still changes :
I'm not sure if I understand the problem. Is this recipe correct?
If so, isn't that the correct behavior?
Seems there is no way to turn off granulation in seqtracker .... hmmm.
There is no other way to stretch a sound in Radium. It uses granulation. If you turned off granulation, there would be no way to stretch an audio file. If an audio file is not stretched, granulation is automatically turned off. I don't understand the problem...
Unfortunatelly the max. grainlength is 1000ms which is to short for what I am doing :(
A grain-length longer than 1 second? That doesn't sound like a common feature. But you can probably just increase the MAX_GRAIN_LENGTH_IN_SECONDS macro and recompile and it should work. It'll probably use a lot more memory.
Maybe you're using the "Pitch" function (when you double-click a sound file), but what you are really looking for is the "Speed" function (the "red" square in the soundfile)?
When you use the "Pitch" function, granulation will (almost) always be enabled. "Changing pitch" means changing pitch without also changing the length of the sample, and to do that you also need to stretch at the same time. "Changing speed" means just changing sample rate.
The problem with switching instruments is solved. In the end it happend only when looping in the sequencer so adding !isSeqlooping made it behave nicely. The AudioSeqtrack kindof should behave like the sampleplayer. I will find a way to add a button to turn granulation off manually and all is fine :) Will be some pratice on how to deal with scheme for me. Thanks for repkying.
I don't understand what a button to turn off granulation would be good for. There is no other way to stretch an audio file in Radium than to granulate it (fft-stretching is not available), and granulation is only enabled when an audio file needs to be stretched. And if you turn off stretching, then the program would behave the wrong way.
On Tue, Mar 26, 2024 at 9:43 PM yust1n @.***> wrote:
The problem with switching instruments is solved. In the end it happend only when looping in the sequencer so adding !isSeqlooping made it behave nicely. The AudioSeqtrack kindof should behave like the sampleplayer. I will find a way to add a button to turn granulation off manually and all is fine :) Will be some pratice on how to deal with scheme for me. Thanks for repkying.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2021432765, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3JYCPVUWTTESDU5YTBLY2HFVVAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRRGQZTENZWGU . You are receiving this because you authored the thread.Message ID: @.***>
I mean, to turn off granulation you just right-click one of the stretch-handlers in the audio file and select "Reset". That turns off both stretching and granulation. Isn't that what you want?
On Tue, Mar 26, 2024 at 9:55 PM Kjetil Matheussen @.***> wrote:
I don't understand what a button to turn off granulation would be good for. There is no other way to stretch an audio file in Radium than to granulate it (fft-stretching is not available), and granulation is only enabled when an audio file needs to be stretched. And if you turn off stretching, then the program would behave the wrong way.
On Tue, Mar 26, 2024 at 9:43 PM yust1n @.***> wrote:
The problem with switching instruments is solved. In the end it happend only when looping in the sequencer so adding !isSeqlooping made it behave nicely. The AudioSeqtrack kindof should behave like the sampleplayer. I will find a way to add a button to turn granulation off manually and all is fine :) Will be some pratice on how to deal with scheme for me. Thanks for repkying.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2021432765, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3JYCPVUWTTESDU5YTBLY2HFVVAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRRGQZTENZWGU . You are receiving this because you authored the thread.Message ID: @.***>
Indeed, that's it \o/ So the button should be "No stretching when pitching" :D THANK YOU !!!
In Radium, "pitch" means only changing pitch, not the length of the sample. I think that's pretty common. Only changing sample rate, which you seem to want, is called "speed" in radium.
On Wed, Mar 27, 2024 at 10:10 AM yust1n @.***> wrote:
Indeed, that's it \o/ So the button should be "No stretching when pitching" :D THANK YOU !!!
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2022268130, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J22KHAGSGP45QQZHU3Y2J5G3AVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRSGI3DQMJTGA . You are receiving this because you authored the thread.Message ID: @.***>
I guess there is an interface issue here. The "speed" handlers only show multiplication of default sample rate of the audio file. Maybe it also/or should show what this multiplication means in terms of pitch change. E.g. instead of displaying "2.0", it could alternatively display "+12" (i.e. one octave up).
On Wed, Mar 27, 2024 at 12:06 PM Kjetil Matheussen @.***> wrote:
In Radium, "pitch" means only changing pitch, not the length of the sample. I think that's pretty common. Only changing sample rate, which you seem to want, is called "speed" in radium.
On Wed, Mar 27, 2024 at 10:10 AM yust1n @.***> wrote:
Indeed, that's it \o/ So the button should be "No stretching when pitching" :D THANK YOU !!!
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2022268130, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J22KHAGSGP45QQZHU3Y2J5G3AVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRSGI3DQMJTGA . You are receiving this because you authored the thread.Message ID: @.***>
I just followed the logic of a sampleplayer where pitching up a sample also results in a shorter samplelength ( like a recordplayer ... hmm wait ... that's also speed but I remember it being called pitch ). Now that I understood the logic of the audioseqtracker everything is fine :) It didn't came to my mind that it's different. Radium has so many hidden features that it just takes a while to get them all. Like the automation in the MainBus. That's what I was looking for to do automation except that it lacks the possibility to use midicontrollers ( would be perfect if it did ).
Yeah that's true. But the sample player is mostly used to play notes, while in the sequencer, audio samples are mostly used to play sequences of notes/etc. (at least that's my assumption) For the sample player, we can easily cheat by only changing sample rate to change pitch, because then you get the best sound and the lowest CPU usage. But for the sequencer, if you are singing in the wrong pitch, and you want to fix that by changing the pitch in post-production, I would think you normally expect the duration of the sample to stay the same.
On Wed, Mar 27, 2024 at 12:39 PM yust1n @.***> wrote:
I just followed the logic of a sampleplayer where pitching up a sample also results in a shorter samplelength ( like a recordplayer ... hmm wait ... that's also speed but I remember it being called pitch ). Now that I understood the logic of the audioseqtracker everything is fine :) It didn't came to my mind that it's different. Radium has so many hidden features that it just takes a while to get them all. Like the automation in the MainBus. That's what I was looking for to do automation except that it lacks the possibility to use midicontrollers ( would be perfect if it did ).
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Radium has so many hidden features that it just takes a while to get them all. Like the automation in the MainBus. That's what I was looking for to do automation except that it lacks the possibility to use midicontrollers ( would be perfect if it did ).
You mean if you right-click inside the seqblock area of the main bus, and select "New automation..."? If so, when you say that it lacks the possibility to use midicontrollers, do you mean record automation? (I agree that would probably be nice)
On Wed, Mar 27, 2024 at 12:59 PM Kjetil Matheussen @.***> wrote:
Yeah that's true. But the sample player is mostly used to play notes, while in the sequencer, audio samples are mostly used to play sequences of notes/etc. (at least that's my assumption) For the sample player, we can easily cheat by only changing sample rate to change pitch, because then you get the best sound and the lowest CPU usage. But for the sequencer, if you are singing in the wrong pitch, and you want to fix that by changing the pitch in post-production, I would think you normally expect the duration of the sample to stay the same.
On Wed, Mar 27, 2024 at 12:39 PM yust1n @.***> wrote:
I just followed the logic of a sampleplayer where pitching up a sample also results in a shorter samplelength ( like a recordplayer ... hmm wait ... that's also speed but I remember it being called pitch ). Now that I understood the logic of the audioseqtracker everything is fine :) It didn't came to my mind that it's different. Radium has so many hidden features that it just takes a while to get them all. Like the automation in the MainBus. That's what I was looking for to do automation except that it lacks the possibility to use midicontrollers ( would be perfect if it did ).
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
If so, when you say that it lacks the possibility to use midicontrollers, do you mean record automation? (I agree that would probably be nice)
That's what I did with PD in the end but actually don't use it. Doing some oldschool dnb at the moment just to learn how to use everything the trackerway.
When the start off the automation gets extended like the yellow line it's possible to paste.
On Wed, Mar 27, 2024 at 4:08 PM yust1n @.***> wrote:
If so, when you say that it lacks the possibility to use midicontrollers, do you mean record automation? (I agree that would probably be nice) That's what I did with PD in the end but actually don't use it. Doing some oldschool dnb at the moment just to learn how to use everything the trackerway.
You can record automation from a MIDI controller in editor blocks though, so I guess one of the best workarounds would be to have dedicated editor seqtracks for automation. And if you need really long automation, just take a normal editor seqlock and stretch it (using the stretch handlers) so that the seqblock becomes equally long as your song (much quicker than changing the number of lines in the editor block/etc.).
Message ID: @.***>
On Fri, Mar 29, 2024 at 9:58 AM yust1n @.***> wrote:
automation_paste_bug.png (view on web) https://github.com/kmatheussen/radium/assets/44263445/ce43e8ff-be70-4691-9a20-43253d112aa5 When the start off the automation gets extended like the yellow line it's possible to paste.
Can you make a recipe on how to provoke this bug? Message ID: @.***>
Can you make a recipe on how to provoke this bug?
Create a new automation, add a new node and pull it to the left so it's at the same timemarker as the beginning of the automation. Copy automation and paste it elsewhere.
You can record automation from a MIDI controller in editor blocks though
Did you try recording more than one MIDI controller at once like filtercutoff and filterresonance ?
On Fri, Mar 29, 2024 at 11:54 AM yust1n @.***> wrote:
Create a new automation, add a new node and pull it to the left so it's at the same timemarker as the beginning of the automation. Copy automation and paste it elsewhere.
Thanks!
On Fri, Mar 29, 2024 at 11:58 AM yust1n @.***> wrote:
You can record automation from a MIDI controller in editor blocks though Did you try recording more than one MIDI controller at once like filtercutoff and filterresonance ?
There shouldn't be any limitations on how many automations you can record at once.
Message ID: @.***>
On Fri, Mar 29, 2024 at 12:02 PM Kjetil Matheussen @.***> wrote:
On Fri, Mar 29, 2024 at 11:58 AM yust1n @.***> wrote:
You can record automation from a MIDI controller in editor blocks though Did you try recording more than one MIDI controller at once like filtercutoff and filterresonance ?
There shouldn't be any limitations on how many automations you can record at once.
https://users.notam02.no/~kjetism/radium/documentation/index.html?page=effect_popup_menu#record
Can you make a recipe on how to provoke this bug?
Create a new automation, add a new node and pull it to the left so it's at the same timemarker as the beginning of the automation. Copy automation and paste it elsewhere.
Fixed. Program wrongly threw error.
On Fri, Mar 29, 2024 at 11:58 AM yust1n ***@***.***> wrote:
>
> You can record automation from a MIDI controller in editor blocks though
> Did you try recording more than one MIDI controller at once like filtercutoff and filterresonance ?
There shouldn't be any limitations on how many automations you can record at once.
https://users.notam02.no/~kjetism/radium/documentation/index.html?page=effect_popup_menu#record
Ahhh, I need to activate every controller I want to record every time before Radium can record it. That's pretty complicate. Additionally EditMode must be turned on. Nice thing is that it really let's you record automation for any other instrument in the block. Does it really produce an undo for every controllermove ? Guess that's how I made radium crash :D
It creates only one undo for all recorded automation, I think, so it shouldn't use much memory. From help->program debugging->undo log:
0: Add Undo. Track notes and stops. B: 0. T: 0. midi/midi_i_input.cpp:677. Function: insert_recorded_midi_events.
0: Add Undo. Track. api/api_instruments.cpp:495. Function: setInstrumentForTrack.
0: Add Undo. Track fxs. midi/midi_i_input.cpp:526. Function: add_recorded_fx.
Would be good if you could reproduce the crash.
`Would be good if you could reproduce the crash.``
I am not in the mood to crash my whole system atm so you got to be patient ;D
Instruments: Fix current instrument changing automatically when playing song and switching between blocks. This was only a bug in the official binary releases of Radium 7.3.84.
Sorry didn't commit yet when you when you announced a new release which I discovered today. It wasn't a big thing and should also happen on osx since it only occured when playing in loopmode in the sequencer. At the moment I am studying your code trying to implement a "No stretch"-button just for the fun of knowing how to do it. \<ra> and ¸\<gui> in scheme are still a mysterium. Is there any reason why I don't see a "7.4.76"-tag on github ?
On Mon, Apr 1, 2024 at 4:08 PM yust1n @.***> wrote:
Instruments: Fix current instrument changing automatically when playing song and switching between blocks. This was only a bug in the official binary releases of Radium 7.3.84.
Sorry didn't commit yet when you when you announced a new release which I discovered today. It wasn't a big thing and should also happen on osx since it only occured when playing in loopmode in the sequencer.
The bug was caused by the source code on the build machine being different from the repository on github. The reason it didn't manifest on mac/arm is because that version is built on a different computer.
At the moment I am studying your code trying to implement a "No stretch"-button just for the fun of knowing how to do it. and in scheme are still a mysterium. Is there any reason why I don't see a "7.4.76"-tag on github ?
Forgot it. Fixed now.
Message ID: @.***>
PD and Faust disappeared from the instrumentlist. Like llvm15 disappeared from artix/arch. Recompiled with llvm14 since I thought it needs llvm to showup but seems you removed it while creating new instrumentlists for #1412. I need some sauna now ... it's all to weired today :D
On Mon, Apr 1, 2024 at 5:36 PM yust1n @.***> wrote:
PD and Faust disappeared from the instrumentlist.
I can't find anything wrong. Which instrument list are you talking about?
The one in the editor ( click me ) and the one in the modularmixer.
Oh, you mean the "New Pd instrument" entry, etc. Well, the menu was reorganized on purpose a while ago. I removed some entries I thought were too esoteric to be placed directly in that menu.
On Mon, Apr 1, 2024 at 10:12 PM yust1n @.***> wrote:
The one in the editor ( click me ) and the one in the modularmixer.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2030480198, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J6AW4VSG46RUTDQL7LY3G5SPAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZQGQ4DAMJZHA . You are receiving this because you authored the thread.Message ID: @.***>
You can add keyboard entries for Instruments you use a lot. For instance to add keybinding to create Pd instrument:
On Mon, Apr 1, 2024 at 11:01 PM Kjetil Matheussen @.***> wrote:
Oh, you mean the "New Pd instrument" entry, etc. Well, the menu was reorganized on purpose a while ago. I removed some entries I thought were too esoteric to be placed directly in that menu.
On Mon, Apr 1, 2024 at 10:12 PM yust1n @.***> wrote:
The one in the editor ( click me ) and the one in the modularmixer.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2030480198, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J6AW4VSG46RUTDQL7LY3G5SPAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZQGQ4DAMJZHA . You are receiving this because you authored the thread.Message ID: @.***>
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
https://github.com/kmatheussen/radium/commit/e59702249a889cd095c9c1643546f3ba799ab711 It's still weird since it's not in the repo when I pull it.
Don't know what happened, but a "git push" seems to have fixed it.
On Tue, Apr 2, 2024 at 1:18 PM yust1n @.***> wrote:
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
e597022 https://github.com/kmatheussen/radium/commit/e59702249a889cd095c9c1643546f3ba799ab711 It's still weird since it's not in the repo when I pull it.
— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1412#issuecomment-2031740298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J44WRFUNZRPORZ5DELY3KHXDAVCNFSM6AAAAABANXS44KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZRG42DAMRZHA . You are receiving this because you authored the thread.Message ID: @.***>
Also, after fixing this, the "lock" icon functionality should probably be enabled by default. It's usually annoying that the program changes current instrument for you. Perhaps current instrument should only change if clicking on it in the mixer, or manually changing current track in the editor (i.e. not when it's changing because we play a song and a new current track has a different instrument when playing a new block). Then we don't need the "lock" icon.