I can not find a function to set the properties of a project in the Lib.
There is p.e. sv_get_song_bpm(), but there is no sv_set_song_bpm()....
Lib -> set project properties
Re: Lib -> set project properties
Same idea, so +1,
But guessing when you create some meta module, which has TPL and BPM, and do so into memory and then load from memory you are actually close to some workaround.. That is as i understood, and hopefully i am not wrong, because i assume a project is actually the highest hierarchy and so a meta module.
So if you can set TPL on a meta module you would be close to some solution once and for all.
another way is to kick patterns out and do it externally, then you have to create your own event mechanism sending at the right time. But thats still not a solution, as arp-ing is not of much meaning without being able to set bpm or tpl.
Another task is BPM precision in general.
1BPM steps are almost impossible to play along with analog gear for long unless the clock or mtc is also send from psynths thread.
at least .1 or .01 precision would be perfect to be able to correct drift.
But guessing when you create some meta module, which has TPL and BPM, and do so into memory and then load from memory you are actually close to some workaround.. That is as i understood, and hopefully i am not wrong, because i assume a project is actually the highest hierarchy and so a meta module.
So if you can set TPL on a meta module you would be close to some solution once and for all.
another way is to kick patterns out and do it externally, then you have to create your own event mechanism sending at the right time. But thats still not a solution, as arp-ing is not of much meaning without being able to set bpm or tpl.
Another task is BPM precision in general.
1BPM steps are almost impossible to play along with analog gear for long unless the clock or mtc is also send from psynths thread.
at least .1 or .01 precision would be perfect to be able to correct drift.
- NightRadio
- Site Admin
- Posts: 3944
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Lib -> set project properties
You can use sv_send_event():
set BPM: sv_send_event( slot, track_num, 0, 0, 0, 0x001F, BPM );
set TPL or BPM: sv_send_event( slot, track_num, 0, 0, 0, 0x000F, TPL_or_BPM );
Re: Lib -> set project properties
Hi,
First off a *very big* thank you to NightRadio for generously not only making Sunvox available but also making SunvoxLib freely available for others to use!
Sunvoxlib seems pretty much perfect for a small personal "groovebox" project I'm working on, except I've run into an issue in that while there are functions like sv_get_module_ctl_value(), sv_get_module_ctl_name(), sv_get_module_color(), etc, there are no setter functions for any of these.
So I wanted to ask, is setting module value and module controller values possible via Sunvoxlib? If so, is it via the sv_send_event() function in a similar way to how you described above for BPM or via a different function?
First off a *very big* thank you to NightRadio for generously not only making Sunvox available but also making SunvoxLib freely available for others to use!
Sunvoxlib seems pretty much perfect for a small personal "groovebox" project I'm working on, except I've run into an issue in that while there are functions like sv_get_module_ctl_value(), sv_get_module_ctl_name(), sv_get_module_color(), etc, there are no setter functions for any of these.
So I wanted to ask, is setting module value and module controller values possible via Sunvoxlib? If so, is it via the sv_send_event() function in a similar way to how you described above for BPM or via a different function?
- NightRadio
- Site Admin
- Posts: 3944
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Lib -> set project properties
Set module ctl value: sv_send_event( slot, 0, 0, 0, module + 1, ctl << 8, ctl_val );maks wrote: ↑Sat Mar 26, 2022 4:58 am Sunvoxlib seems pretty much perfect for a small personal "groovebox" project I'm working on, except I've run into an issue in that while there are functions like sv_get_module_ctl_value(), sv_get_module_ctl_name(), sv_get_module_color(), etc, there are no setter functions for any of these.
where ctl_val is the value from 0 (min) to 32768 (max)
sv_get_module_ctl_name(), sv_get_module_color():
setters for these functions are not available yet, sorry.
Re: Lib -> set project properties
Thank you for the very quick reply!
Ok that makes sense, so its really just the same as sending the event from the grid.
The module controllers are the main thing I need for now, though it would be nice to have the setters for name and color if you get a chance to add these in a future version.
But no worries at all about them, as I found now (sorry it's only been a few days since I've discovered Sunvox properly) that someone has been documenting the file format so I could always have a go at changing the module colour and name directly.
Thanks again!
Ok that makes sense, so its really just the same as sending the event from the grid.
The module controllers are the main thing I need for now, though it would be nice to have the setters for name and color if you get a chance to add these in a future version.
But no worries at all about them, as I found now (sorry it's only been a few days since I've discovered Sunvox properly) that someone has been documenting the file format so I could always have a go at changing the module colour and name directly.
Thanks again!
Re: Lib -> set project properties
What a coincidence! I am doing exactly the same.
I've started first with cSound (ModulysCS). It works great, but since a couple of weeks I've discovered sunvox-lib. What a great lib!
Re: Lib -> set project properties
Cool, great to hear about a fellow maker!
Yes I went down the road a bit of making my own custom engine until I discovered the fantastic sunvox lib.
I made an entry to a YT contest with it and then a explanation showing as far as I got with mine and of how it works here:
But now that I've discovered Sunvox lib I can see that it implements most of what I was trying to build and does it much better! so I'm beginning work on switching over to using sunvox as the engine.
In the meantime I've also learnt about the Polyend and more recently had a little go with a headless Dirtywave M8, so I'm now tempted to build a more "tracker oriented" hardware interface using sunvoxlib vs using the Akai Fire, though for now my first job is to get things working with the AkaiFire since I think its combination of small OLED and large number of pads/buttons/dials will still work well with sunvoxlib.
Actually if it was possible to script Sunvox-the-app's editing functionality, I think I could avoid having to re-invest the wheel so much and just use Sunvox's existing UI, but given the amount of integration I need to do with even the AkaiFire (esp sending feedback midi sysex for pad colors, OLED display, etc) for now I need to use the sunvoxlib as Sunvox's existing Midi implementation is great, but not really enough to do all that without a scripting language (eg. like Lua in renoise).