Saturday, 2016-10-08

*** falktx has joined #lv203:55
*** falktx` has quit IRC03:59
*** deva has joined #lv207:50
*** oofus_ has quit IRC08:11
*** oofus_ has joined #lv208:11
*** oofus_ has quit IRC08:20
*** oofus_ has joined #lv208:21
*** trebmuh has joined #lv208:57
*** ricardocrudo has joined #lv209:00
devaCan I somehow make the LV2 host report tempochanges to my lv2 instrument plugin through midi events?09:21
ventosusdeva: not through midi, but through time:Position events09:35
devaventosus, great thanks09:35
*** Yruama_Lairba has joined #lv209:43
*** ocbtec has joined #lv210:17
*** oofus has joined #lv210:27
*** oofus_ has quit IRC10:27
*** ocbtec has quit IRC10:56
*** ricardocrudo has quit IRC12:07
*** unclechu-audio has quit IRC12:25
*** trebmuh has quit IRC12:39
devaConsidering the time:beatUnit property. In the docs it says "xsd:nonNegativeInteger" but no such type exists as an atom.12:40
devaI have tested it with "Atom Int" and it works with Ardour... but couldn't it theoretically be reported using "Atom_Long" in other hosts?12:41
*** trebmuh has joined #lv212:54
rgareusdeva: jalv also sends atom_Int12:58
devaPerhaps the spec should be updated to specify the datatype to int then?12:58
rgareusdrobilla: ^^12:59
rgareusdeva: some example client code (works with jalv, ardour +  MOD): https://github.com/x42/stepseq.lv2/blob/master/src/stepseq.c#L15812:59
devaOn a similar note; any particular reason why the beatsPerBar and beatUnit is not the same datatype?12:59
devabeatsPerBar is float13:00
devaSo that would legalize fragmented time signaures like say 3.8/4th - does that make any sense?13:02
deva(I for sure wouldn't want to try playing to tha :-D )13:02
drobillaThe xsd/atom thing is a bit odd at times13:02
rgareusdeva: listen to Mädchentotenlieder13:03
rgareusdeva: https://en.wikipedia.org/wiki/List_of_musical_works_in_unusual_time_signatures13:03
devatouche ;)13:03
drobilladeva: Maybe.  That's less expressive, validator couldn't catch funny values, and nonNegativeInteger and friends are restrictions on integer13:03
rgareus 1.5 /413:03
drobilladeva: But this is more work to query out, soooooooooo *shrug*13:04
devaA whole wikipage supporting the choice of datatype - awesome!13:04
drobillaI copied the types more or less exactly from jack transport.  The float numerator is kind of questionable if you ask me, but whatever13:04
drobillaOut here in real life you'd do that as 3/8 in basically any actually existent piece of software :)13:05
devaUnless you have half a bar, then you would have to denote it 1.5/413:06
devaI mean some number of bars at 3/8th, then a single bar at 1.5/4th and then back to 3/8th13:06
rgareusthere is an ongoing debate if it makes sense13:07
rgareusit's mostly to denote some specific expression on the composition.13:07
rgareuse.g. some abrupt "death"  rupture in the phrase13:07
devaI agree13:07
rgareusand a whole lot of convention13:08
devaAnd the spec should not limit the composer but rather support whichever crazy idea he or she might have13:08
devaSo I'd stick with the float13:08
rgareusanother odd thing: mathematically  3/4 and  6/8   are the same, but musically quite different.13:08
devaThe question is if the numBeatsPerBar should also be a float?13:09
rgareusand yeah float does not hurt for small numbers13:09
devaeh... I meant beatUnit - sorry13:09
rgareusI can't see how that'd work.13:10
devaI mean it could make sense to have both in the same datatype13:10
deva... just my OCD talking :p13:10
devaBut I guess such a change would break the current spec13:11
devaLet's just keep it at the doc change for time:beatUnit as Atom Int type then :-)13:11
rgareuslike you said  3 / 8  ->  1.5 / 4   is an odd notation, but you can play it without thinking too much..     3 / 3.5  I'm lost.13:12
rgareusdeva: since a lot of hosts already implent it as Int.  it'd be hard to change anyway13:13
devatrue13:13
rgareusthe only way would be to introduce a new property.  (and deprecate the old)13:13
deva3 / 3.5 would just be half a 6/7th bar13:13
* rgareus looks forward to your next song.13:14
devaHaha :-D13:14
devaI'm afraid you would ahve to talk to chaot4 about that :p13:15
rgareusyeah metronoms will have a hard time.13:16
rgareusthat's probably why it's an integer . at least the base-time is evenly divided.13:17
devaIf you were to use 3/5th in Ardour and the position a change to 4/4th in the middle of a bar; what would happen?13:18
devaIsn't it legal to position signature changes out of alignment with the bar?13:18
rgareusit wasn't until 5.013:19
rgareusI'll have to check what nick_m did, but I'm pretty sure  metrum can only change on bars.13:20
devaSo does the metronome simply re-start at 1 on the position of the new time signature?13:20
rgareusI think he relaxed it to beats ..  maybe.13:20
devathat would keep it as integral units then13:21
rgareusdeva: no idea. either ask him on #ardour  or read the source13:21
devaSo that would make sense13:21
rgareusI don't think ardour support float numerators.13:22
rgareusLV2 could.13:22
devathe numerator is selected in a dropdown menu, so I guess not13:22
*** unclechu-audio has joined #lv213:33
drobillacoercion methods would be nice in general14:19
drobillaIn some sense just having everything as a float would be easy and consistent with most of what we currently have14:21
drobillaBut I figured it was inevitable that at some point that's going to fall apart and we'd need to deal with actual integers, so might as well start now14:22
drobillaBut really I just avoided having to think too much by copying Jack transport.  I like copying things :)14:23
drobillaThough I did change all the ridiculous "some stuff is 1-based and others are 0-based" that has zero business in a low level API/protocol, I suppose14:23
* drobilla wonders if/how all this is going to play nice with Link14:24
*** ocbtec has joined #lv214:46
rgareusdrobilla: how about copying Ableton Link, next :)14:56
*** drobilla has quit IRC14:59
ventosustime seems to be the topic of the day... https://paste.open-music-kontrollers.ch/metronom.gif15:45
* ventosus slowly is getting the knack for the inline display15:45
*** rncbc has joined #lv215:53
rgareusventosus: nice!16:11
rgareusventosus: is that host-synced?16:11
ventosusrgareus: yes16:12
rgareusventosus: is the display fixed, or do programmed in moony as lua-script?16:16
ventosusrgareus: dynamically created in Lua, yes16:23
ventosusrgareus: I do not direclty draw directly from Lua, instead the vector graphic is serialized into an atom stream which will be drawn via cairo later on16:27
ventosushttps://paste.open-music-kontrollers.ch/metronom.lua16:27
rgareusinteresting indirection.16:34
rgareusI've looked at moony for inspiration about message for ardour lua-pluins, but have not yet found some overlap.16:35
rgareusonce there can be GUIs just moving around lua-tables directly seems more straight forward.  than en/decoding LV2 Atoms16:36
rgareusone reason to use some LV2ey abstraction would be to allow sharing scripts.   LV2 bindings that can be used in /any/ lua script.16:38
rgareuson the downside, one goal of ardour/lua scripts is to be able to have access to ardour's internal API to do things that plugins can't otherwise do.16:40
ventosusI'll need to add a wrapper to make drawing/serializing simpler, like canvas:rectangle(0, 0, 1, 1):stroke()16:42
rgareusventosus: yeah having return the context they operate on is a nice twist.16:43
rgareusI stuck to cairomm's API which does not do that16:43
rgareuscontext:rectangle()   context:stroke() ..    the advantage here is to follow cairo's  fill_preserve()  etc.16:44
rgareus:ectangle(0, 0, 1, 1):stroke()    implies a  cairo_path_new() at the end.16:44
rgareusor sub_path at the beginning16:45
* ventosus has made his first steps with cairo today ...16:45
rgareusoops  it's  cairo_new_path ()  (not _path_new)16:45
rgareusthe alternative to cairo is https://skia.org/   cairo <> skia is not unlike gnome <> KDE,  or vim <> emacs.16:49
rgareuseither are nice 2d vector graphics libs16:50
ventosusI had a look at skia, but couldn't even get it compiled16:50
ventosusrgareus: about interoperability: moony tries to be as low-level as possible, but adding compatibility wrappers later on is an option16:51
rgareuscode-wise it's also very low leve (lua c api)16:51
rgareusnot much overlap with ardour's C++ bindings :(16:51
* ventosus does not know any C++ :(16:52
rgareusit'd be nice to share some code and interfaces.. but It does not seem reasonable for the cases at hand :(16:52
rgareusthere's also http://lua-av.mat.ucsb.edu/blog/16:52
rgareusanyway dinnertime16:53
*** edogawa has joined #lv217:30
*** oofus has quit IRC18:35
*** deva has quit IRC18:35
*** oofus has joined #lv218:35
*** gianMOD has joined #lv218:38
*** gianMOD has quit IRC18:54
*** gianMOD has joined #lv219:00
*** unclechu-audio_ has joined #lv219:22
*** unclechu-audio has quit IRC19:24
*** rncbc has quit IRC19:36
*** rncbc has joined #lv220:26
*** gianMOD has quit IRC20:39
*** HarryHaaren has joined #lv221:58
*** unclechu[m] has joined #lv222:00
*** Yruama_Lairba has quit IRC22:03
*** rncbc has quit IRC22:21
*** gianMOD has joined #lv222:40
*** gianMOD has quit IRC22:45
*** ocbtec has quit IRC23:00
*** edogawa has quit IRC23:01
*** HarryHaaren has quit IRC23:28

Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!