*** NickSB2 has joined #lv2 | 01:01 | |
*** NickSB has quit IRC | 01:43 | |
*** NickSB has joined #lv2 | 01:46 | |
*** NickSB2 has quit IRC | 03:48 | |
*** curlymorphic has quit IRC | 06:38 | |
*** falktx has joined #lv2 | 07:44 | |
*** NickSB2 has joined #lv2 | 08:12 | |
*** ricardocrudo has joined #lv2 | 08:15 | |
*** ventosus has joined #lv2 | 08:28 | |
*** ventosus has left #lv2 | 10:02 | |
*** krubenast has joined #lv2 | 10:05 | |
falktx | does http://lv2plug.in/ns/lv2core#sampleRate as portProperty imply the default value must be already multiplied by SR ? | 10:11 |
---|---|---|
falktx | some plugins I've seen with it have default 440, but max is 1.0 | 10:12 |
falktx | I'd assume the default would be multiplied as well | 10:12 |
falktx | drobilla: welcome back :) | 10:13 |
falktx | drobilla: opinions on this? the documentation doesn't specify a rule for SR + default, so I have to assume the current plugins are wrong | 10:14 |
*** yann-kaelig has joined #lv2 | 11:16 | |
*** ventosus has joined #lv2 | 11:18 | |
*** artfwo has quit IRC | 11:42 | |
*** artfwo has joined #lv2 | 11:45 | |
*** NickSB2 has quit IRC | 12:28 | |
*** ventosus has left #lv2 | 13:08 | |
rgareus | falktx: the "bounds" (min, max) not the actual value | 13:11 |
rgareus | falktx: it's pretty clear. the value itself is in Hz. | 13:12 |
rgareus | min:0.0 max:.5 default: 440 is correct | 13:12 |
rgareus | min:0.0 max:0.5 default: 440.0 is correct | 13:13 |
falktx | rgareus: you sure? | 13:14 |
falktx | the docs say | 13:14 |
falktx | "Indicates that any bounds specified should be interpreted as multiples of the sample rate." | 13:14 |
falktx | note the "any bounds" | 13:14 |
falktx | hmm | 13:14 |
falktx | I guess the default value is not part of the bounds | 13:15 |
rgareus | bounds are Min and Max | 13:18 |
rgareus | bounds as in boundaries | 13:18 |
rgareus | dunno if it makes sense. | 13:19 |
*** yann-kaelig has quit IRC | 13:27 | |
falktx | I guess my code is wrong then | 13:32 |
*** yann-kaelig has joined #lv2 | 13:33 | |
drobilla | 'lo | 14:21 |
drobilla | Right, default is not a bound | 14:21 |
drobilla | Pretty much the only reason that exists is to make nyquist bounds and the like possible. Default and scale points don't need it | 14:22 |
ssj71 | is there an inverse so you can have an absolute bound on a tempo sync'd parameter? | 14:24 |
ssj71 | I guess maybe thats not a good idea since tempo changes on the fly. I should probably limit it internally. | 14:26 |
drobilla | Not sure what you mean. You can just put a normal bound on it | 14:32 |
drobilla | There's no dynamic mechanism for "4 times the current tempo" or anything like that, if that's what you mean | 14:32 |
ssj71 | rather my port is a coefficient of the tempo e.g.. 1x .5x 4x tempo | 14:33 |
ssj71 | but I want to limit it to say 600bpm max | 14:33 |
ssj71 | so if tempo is 200bpm I'd like the port max to be 3, if tempo is 50 then port max is 12. I realized after typing it though it would require the port limits to be dynamically changed with the tempo | 14:35 |
falktx | I'll need some safe checks on my test little to handle bounds+samplerate better... | 14:35 |
drobilla | falktx: Link to your test thing? | 14:38 |
falktx | drobilla: https://github.com/portalmod/lilvlib/blob/master/lilvlib/lilvlib.py#L480 | 14:40 |
drobilla | falktx: thanks | 14:40 |
falktx | drobilla: I'm doing this mainly because of MOD, to see if the plugins have errors/warnings etc | 14:41 |
falktx | drobilla: for MOD we require comment, version and license. so not having those is considered an error | 14:41 |
falktx | drobilla: I also introduced the concept of "shortnames". everyone on this channel seemed to like the idea | 14:42 |
falktx | https://github.com/falkTX/lv2/commit/cc48b1f968ce2d07d1e50a3d7fb28ad0df11edad | 14:42 |
drobilla | Me too. Been meaning to add one for roughly ever | 14:42 |
falktx | drobilla: also this https://github.com/falkTX/lv2/commit/0c8b704450019e6cb0fab2794b884e1cbb536e95 | 14:43 |
falktx | drobilla: without it I get errors with sord-validate | 14:43 |
falktx | drobilla: I found a few bad things in your plugins with this tool | 14:45 |
falktx | misnamed preset uris, invalid bounds, etc | 14:45 |
drobilla | I don't think making plugin a project is valid but I forget specifically why | 14:45 |
drobilla | This is why new things have the author metadata described as part of a project and not the plugin | 14:46 |
drobilla | Which in most cases means that info is in one place rather than hundreds anyway | 14:46 |
falktx | well, without the doap:Project we can't use any doap: properties | 14:46 |
drobilla | The doap vocab is annoying in several waysw | 14:46 |
falktx | drobilla: we could have lv2:project that refered to a doap:project like prototype does | 14:47 |
falktx | ie, define the project in the manifest then all plugin ttls have lv2:project myThing ; | 14:47 |
falktx | then lilv/whatever imports that data like prototype | 14:47 |
drobilla | falktx: Already there | 14:48 |
falktx | drobilla: well, sord-validate disagrees | 14:48 |
drobilla | No it doesn't ;) | 14:48 |
drobilla | If you link to project then define all the project stuff *on the project*, it's fine | 14:49 |
drobilla | No errors on stuff I've checked, anyway | 14:49 |
falktx | well, on the mod-mda fork sord-validate complains about the same email being used more than once | 14:51 |
falktx | hmm wait | 14:51 |
falktx | I have a common.ttl file that is shared between all plugins | 14:52 |
falktx | the project is duplicated | 14:52 |
falktx | having it in separate bundles causes the issue | 14:52 |
falktx | I guess I should make a meta one | 14:53 |
drobilla | That's a weakness in sord_validate, really that means the blank nodes are actually the same thing | 14:55 |
drobilla | Workaround is to not use blanks | 14:56 |
drobilla | Which makes life less annoying anyway, so I just do that | 14:56 |
falktx | ok, with a meta bundle I get only 1 error | 15:01 |
falktx | time:beatsPerMinute is not a valid port:designation | 15:01 |
falktx | drobilla: ^ I thought that was valid. am I missing anything? | 15:01 |
drobilla | falktx: Should be fine. Exact error? | 15:04 |
falktx | drobilla: http://kxstudio.sourceforge.net/Paste/repo/aNfCc | 15:08 |
falktx | the ttl has this: lv2:designation time:beatsPerMinute; | 15:09 |
drobilla | Hrm. lv2:Designation is a subClassOf rdf:Property though | 15:09 |
drobilla | Pretty sure (the latest version of) sord_validate should be that smart | 15:09 |
falktx | well, I have the latest | 15:10 |
rgareus | drobilla: should a host send port_events() to a plugin gui when the GUI is instantiated? or only if the value changs? What if the value is not default and the GUI is [re]instantiated later? | 15:40 |
* falktx doesn't understand how this is still a question | 15:44 | |
rgareus | falktx: I thought it's a smart way of bringing this to drobilla's attention this way. | 15:45 |
rgareus | I think "no port events on instantiation if the value is default" is the right way. | 15:47 |
rgareus | maybe even no port events at all, only if the value _changes_. but that may put a bit too much to the GUI (needs to ask for updates if it's interested) | 15:48 |
falktx | the UI needs to know the initial state | 15:52 |
rgareus | depends on the plugin. | 15:54 |
rgareus | but yes, the /easy and common/ way is to push current input AND output control port events to the GUI after instantiation | 15:55 |
rgareus | ideally that would be documented and liblilv would do that after calling instantiate. | 15:56 |
rgareus | but then again.. it's not optimal. | 15:57 |
rgareus | optional Feature: NoNeedForInitialPortEventsBecauseThisPluginRocks | 15:58 |
rgareus | or something like that. | 15:58 |
*** rncbc has joined #lv2 | 16:02 | |
drobilla | lilv has no ability to do this, it's the host's job. | 16:05 |
drobilla | Only the host knows what values should be presented and whatnot | 16:05 |
rgareus | drobilla: GUI instantiation goes though lilv, doesn't it? | 16:18 |
rgareus | drobilla: but you're right. lilv does not know the current values | 16:18 |
*** artfwo has quit IRC | 16:19 | |
rgareus | still, can we get a consensus what should happen when the GUI instantiated? *should* the host call port_event() or *must* the host call port_events() [for all control ports]? | 16:20 |
rgareus | ardour does currently not do this (it only calls it when the value changes). | 16:20 |
falktx | again, the UI needs to know the initial state | 16:20 |
rgareus | falktx: why? | 16:20 |
falktx | why? to show the values of course | 16:21 |
rgareus | falktx: in my case this is not true for all my plugins (even those that only have control ports) | 16:21 |
rgareus | falktx: here: the GUI asks the backend for values it needs | 16:21 |
falktx | then let's say all my plugin ports have portNotify | 16:21 |
falktx | rgareus: my plugin doens't have any atom ports | 16:21 |
rgareus | falktx: works even for control ports. the gui asks the backend to force a change. | 16:22 |
rgareus | if the value is not default | 16:22 |
falktx | the plugin can't change input ports | 16:22 |
rgareus | falktx: the GUI can | 16:22 |
falktx | the gui doens't know the current value | 16:22 |
falktx | it's going to mess the current ones | 16:22 |
falktx | this sounds all sort of hacky | 16:23 |
rgareus | right. | 16:23 |
rgareus | to the spec should be amended to say "the host *must* call port_events() for all control ports when the GUI is instantiated" | 16:24 |
rgareus | won't hurt either way | 16:24 |
rgareus | at least not hurt much | 16:24 |
rgareus | drobilla: ? | 16:25 |
falktx | that's what I've been saying for weeks | 16:25 |
rgareus | falktx: well, how about filing a pull request for the lv2 specs? | 16:26 |
falktx | I can do another commit in my little fork | 16:26 |
rgareus | drobilla: is there a 2nd person with access to lv2plug.in in case you get hit by a bus? | 16:28 |
drobilla | mmmmmmmmmmm don't think so, no | 16:29 |
drobilla | I don't know if DH even has such an ability, though I could tinker with permissions and give someone ssh I suppose which would make most possible while the thing is still up at all | 16:29 |
rgareus | drobilla: just avoid busses, then :) | 16:30 |
drobilla | swh still owns the actual domain, though | 16:38 |
*** Anchakor has joined #lv2 | 17:36 | |
*** falktx has quit IRC | 17:51 | |
*** ricardocrudo has quit IRC | 18:09 | |
*** yann-kaelig has quit IRC | 18:33 | |
*** falktx_ has joined #lv2 | 18:34 | |
*** yann-kaelig has joined #lv2 | 18:39 | |
*** ricardocrudo has joined #lv2 | 19:09 | |
*** ventosus has joined #lv2 | 19:11 | |
*** NickSB2 has joined #lv2 | 19:37 | |
*** curlymorphic has joined #lv2 | 19:57 | |
*** yann-kaelig has quit IRC | 20:08 | |
*** ventosus has left #lv2 | 20:12 | |
*** curlymorphic has quit IRC | 20:26 | |
*** NickSB2 has quit IRC | 20:27 | |
*** rncbc has quit IRC | 20:48 | |
*** tytel has joined #lv2 | 21:18 | |
*** NickSB2 has joined #lv2 | 21:22 | |
*** ricardocrudo_ has joined #lv2 | 21:33 | |
*** ricardocrudo has quit IRC | 21:37 | |
*** ricardocrudo has joined #lv2 | 21:44 | |
*** ricardocrudo_ has quit IRC | 21:46 | |
tytel | falktx_: hey! i think i'm ready to release the beta for helm finally | 21:46 |
tytel | (that synth you helped me build an lv2 plugin for) | 21:47 |
falktx_ | oh nice | 21:47 |
tytel | i was wondering if you knew some good spots to announce it to open source musicians | 21:47 |
falktx_ | linuxmusicians.com | 21:47 |
falktx_ | lau/lad mailing lists | 21:47 |
falktx_ | if you post in those I'm sure the message will spread quickly | 21:48 |
falktx_ | tytel: you can try to get your blog/whatever into the linuxaudio planet feed | 21:48 |
falktx_ | not sure who handles that now, maybe rgareus knows... | 21:48 |
tytel | falktx_: thanks! i'll look into those. I've posted on linuxmusicians.com before i believe.. | 21:49 |
*** ricardocrudo_ has joined #lv2 | 21:50 | |
*** ricardocrudo has quit IRC | 21:52 | |
falktx_ | tytel: so when are you planning the release for? | 21:59 |
tytel | falktx_: Probably two months from now. I'm going to gauge the response and hopefully get people from the community to contribute patches. | 22:01 |
tytel | i might add some more features if a lot of people ask for them. | 22:02 |
*** ricardocrudo_ has quit IRC | 22:03 | |
*** Magnus_RM has joined #lv2 | 22:04 | |
*** NickSB2 has quit IRC | 22:41 | |
*** tytel has quit IRC | 23:32 | |
*** tytel has joined #lv2 | 23:35 | |
*** Magnus_RM has quit IRC | 23:52 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!