Sunday, 2014-01-26

*** grejppi has quit IRC01:14
*** grejppi has joined #lv202:02
*** grejppi has quit IRC02:07
*** grejppi has joined #lv203:51
*** grejppi has quit IRC03:56
*** falktx has quit IRC04:00
*** grejppi has joined #lv204:10
*** grejppi has quit IRC04:14
*** grejppi has joined #lv204:28
*** grejppi has quit IRC04:38
*** bgola_ has joined #lv204:42
*** bgola has quit IRC04:47
*** grejppi has joined #lv204:51
*** kaspar_e has quit IRC04:55
*** grejppi has quit IRC04:56
*** shanipribadi has quit IRC05:02
*** shanipribadi has joined #lv205:15
*** NickSB2 has quit IRC05:16
*** grejppi has joined #lv205:40
*** grejppi has quit IRC05:46
*** grejppi has joined #lv207:15
*** grejppi has quit IRC07:19
*** grejppi has joined #lv207:33
*** grejppi has quit IRC07:36
*** grejppi has joined #lv207:52
*** grejppi has quit IRC07:59
*** grejppi has joined #lv208:12
*** grejppi has quit IRC08:18
*** grejppi has joined #lv208:31
*** grejppi has quit IRC08:39
*** edogawa has joined #lv208:52
*** grejppi has joined #lv208:52
*** grejppi has quit IRC08:58
*** grejppi has joined #lv209:42
*** grejppi has quit IRC09:46
*** grejppi has joined #lv210:02
*** grejppi has quit IRC10:08
*** grejppi has joined #lv210:21
*** timbyr has quit IRC10:21
*** timbyr has joined #lv210:22
*** grejppi has quit IRC10:25
*** grejppi has joined #lv210:38
*** grejppi has quit IRC10:45
*** NickSB2 has joined #lv211:15
*** grejppi has joined #lv211:16
*** grejppi has quit IRC11:18
*** bgola_ has quit IRC11:25
*** bgola has joined #lv211:25
*** shanipribadi has quit IRC11:58
*** grejppi has joined #lv211:59
*** grejppi has quit IRC12:04
*** shanipribadi has joined #lv212:20
*** wrl has quit IRC13:27
*** AndreeeCZ has joined #lv213:43
AndreeeCZhi. Would anyone know what the dataSize in UI represents?13:44
*** shanipribadi has quit IRC13:51
*** Gethiox3 has joined #lv214:24
*** Gethiox2 has quit IRC14:25
drobillaAndreeeCZ: Can you be more specific?  "dataSize" doesn't occur anywhere in the UI (or any other LV2) spec...15:11
AndreeeCZdrobilla, nevermind :)15:11
AndreeeCZnot relevant anymore :)15:11
*** NickSB2 has quit IRC15:12
*** kaspar_e has joined #lv215:25
*** kaspar_e has quit IRC15:42
*** kaspar_e has joined #lv215:44
drobillargareus: Why are there two variants of all your meter plugins?  Do they only differ in UI?  Working around lacking host support for multiple-UI selection?15:49
drobillargareus: Certainly doesn't help the massive meters.ttl scenario, and makes the plugin list scream 'problem' to me.  I would like to resolve it if possible15:50
rgareusdrobilla: the gtk variant is legancy (before I moved to openGL + externalUI) but it is still useful hosts that don't support externalUI15:53
drobillargareus: oh.  no embeddable GL at all? :(15:54
rgareusdrobilla: no15:54
drobillaBah.15:54
rgareusdrobilla: gtk+cairo  or openGL+cairo.  pick one15:54
drobillaWell, I don't particularly care what it draws with, I just want them to actually work for me15:55
rgareusdrobilla: were it not for ingen, I'd have deprecated the gtk versions already :)15:55
drobillai.e. not be external15:55
drobillaBut my main point was, multiple *plugins* just for different *UIs* is a symptom of brokenness15:55
rgareusdrobilla: the DSP is the same.15:55
drobillaThat's my point.15:56
drobillai.e. "DSP is the same" means plugins should be the same.  same URI, literally same same15:56
rgareusdrobilla: same shared object,even . But can only have one  ui:ui in the .ttl.15:56
drobillargareus: no, you can have several15:57
*** Gethiox4 has joined #lv215:57
drobillargareus: Quite deliberately.  I am trying to figure out what in practice is broken that made you do this15:57
rgareusdrobilla: that didn't work with jalv last time I tried15:57
rgareusdrobilla: I'l try again, that would cut down the .ttl in half.15:58
drobillargareus: jalv is a little dumb (most are), it picks the first supported one it finds15:58
drobillargareus: so if you have a Gtk and an external, it will pick the Gtk, which should do the right thing here, I think15:58
drobillaI am concerned about this because plugin URIs get baked into saved sessions and whatnot, can't set this precedent15:59
*** Gethiox3 has quit IRC15:59
rgareusdrobilla: I do very much prefer the exteralUI (with patched jalv)15:59
drobillaI know you do.  I don't, and I am extremely disappointed in this.15:59
drobillaBut that is beside the point.15:59
rgareusdrobilla: mmh. could a user select the UI?  what would ardour do for example?16:01
drobillargareus: Ideally, if there are several that are supported16:01
drobillaPreferring external will do the wrong thing for literally every other plugin set but this strange one, so we can't do that16:01
rgareusdrobilla: right now the plugin shows up twice in the list (GTK, GL). one can select it directly.16:02
drobilla(All this for vsync that's useless IIRC, I really don't get why I have to eventually deal with this shit)16:02
rgareusdrobilla: I'm still to get rid of the ardour GTK-preset headers for narrow plugins (that don't have presets).16:02
drobillargareus: Yes, but then the plugin list is full of junk, and different versions of the same plugin just for UI is really not good16:03
drobillaWorst case scenario we can use a 'preferredness' property or something16:03
drobillaI have every intention of spending time I don't have making embeddable versions of these, and having yet another plugin URI for that will start getting ridiculous.  "Hey, user, here's 3 versions of the exact same thing, that differ only in ways you don't understand or care about"16:05
drobillaI guess Ardour could prefer not-external if there are any controls, but external if there are both otherwise16:07
*** HarryHaaren has joined #lv216:07
drobillaWhich would do the right thing for meters16:07
drobillaWhich is probably the only thing that will ever hit that16:07
Anchakordo in practice any plugins have multiple maintained versions of the UI code?16:08
AnchakorI think usually people either do externalUI or embedd16:09
drobillaI don't think so.  Really the utility of multiple UIs is actually different ones, like a meter strip UI, full blown UI, etc.16:09
drobillaThe API thing is just a broken mess, not really the intent.16:10
drobillalilv_ui_is_supported returns a quality measure that's supposed to do this though16:11
drobillae.g. if there's a Qt and Gtk, and you're in a Gtk host, it will return a better quality for the Gtk one16:11
*** mlpug has joined #lv216:12
drobilla... in theory.  Actually looks like it returns the first right now16:12
drobillargareus: Actually it seems there's a reference control, so "no controls" no longer defines this special case16:13
drobillaI don't know how to define that because I myself don't understand why external should be preferred by the host in this case16:14
drobillaSpeaking with my host author hat on, it isn't ;)16:15
drobillaBut the important thing is to make the plugin URI fragmentation go away16:15
Anchakorfrom user perspective maybe16:17
Anchakorfrom dev perspective, you will be linking to all libraries if you have all in one plugin16:17
drobilla? UI != plugin16:18
drobillaThat's the whole point16:18
Anchakoradds work to make it work flawlessly :)16:18
Anchakoreasier would be just to make each plugin instance an instance of rdfs:Class the particular plugin the ttl :)16:19
drobillaNo, easier is not conflating plugins and UIs period16:20
rgareusdrobilla:  it's a compile time option of the plugins to choose GL, GTK or both. They started out as GTK and I'm planning to deprecate GTK sooner or later.16:24
rgareusdrobilla: you either get openGL+externalUI, or whatever the host makes out of the raw data on the control ports.16:25
drobillargareus: Would it really be that much work to compile several UIs?16:26
rgareusdrobilla: most meters are just POD float data.16:26
drobillaDeprecating a UI shouldn't totally break user sessions.16:27
rgareusdrobilla: users using pre 1.0 release should be aware that anything can change anytime.16:28
drobillaI guess it is unlikely, but I want to make sure this doesn't happen again16:28
rgareusdrobilla: once 1.0 (which I'm approaching) is out it will be stable16:28
drobillaFair enough.  I am not especially looking forward to the torrent of "bug" reports about them not working in Jalv or Ingen16:29
rgareusdrobilla: I'm unsure what to do. gtk gives me lots of headaches, particulaly for theming16:30
rgareusdrobilla: I could go the ardour-way and ship a gtkrc but that's ugly.16:30
drobillargareus: I thought you were using GL for widgets now anyway16:31
drobillargareus: What I want/expect is an X11UI16:31
rgareusdrobilla: no. I just re-implemented gtk widgets and event handling.  if you choose gtk you get the original gtk ones where applicable16:32
drobillaAh.  Hence the same API thing.16:32
rgareusdrobilla: in particular gtk-boxes, and gtk-tables  are the problem  for styling16:32
rgareusdrobilla: it was all gdk/gtk at first, I started to replace it piece by piece16:33
drobillaWell, from my host author POV, I couldn't care less.  That is the entire point of Suil.  The only thing I care about is not external.16:33
drobillaYou should be able to completely define your style ala Calf, I think?  But yes, Gtk is problematic anyway.16:33
rgareusdrobilla: calf is pixel based, not scalable. they just use images16:35
drobillaWell, I'm all gung-ho for GL anyway16:37
drobillaBut it gets pretty conflicting when the embeddable baby gets tossed out with the Gtk bathwater16:37
drobilla(Well, the Cairo support in pugl thing is a nice idea, too)16:38
rgareusdrobilla: I'd love to have a better solution. ie  no GTK, but still openGL.16:38
rgareusdrobilla: cairo would also be a good option for most things.16:39
drobillargareus: But you can't get a top level X window which is required for vsync which is required for meters to work well?16:39
rgareusdrobilla: only the goniometer. other meters don't care too much.16:40
rgareusdrobilla: interestingly the own-thread external-UI do not interfere with Ardour's GUI. The GTK ones do slow down ardour's GUI a lot.16:42
rgareusdrobilla: and the externalUI ones also use less CPU; though that's probably the GL part.16:43
drobillaI guess that will depend on if it's a separate thread or not.16:44
drobillargareus: This all seems pretty trivial16:45
drobillargareus: Basically my assessment is there's no particular reason not to do embedded GL but you just don't personally give a fuck, so if I do it, it'll probably work okay?16:45
drobilla(and one needs some window figuring out)16:45
Anchakorwould be cool if there was some crossplatform way to use non-externalUI openGL based GUI16:46
drobillaI was just thinking of that, not having to list X11 and etc ones would be nice.  Not a big deal, but nice.16:47
Anchakorx11ui won't work even on mac osx would it?16:47
drobillaThere could be a NativeUI where the 'widget' is a tagged union or something.16:48
rgareusdrobilla: I'm not abivalent about it. I'm just not seeing a nice solution that I also have time to implement.16:48
drobillargareus: The thing I am confused about is why you don't see a nice solution16:48
drobillargareus: I've asked several times and I get a bunch of trivial stuff, and you explicitly say it's not really a big deal.  I don't get it.16:49
rgareusdrobilla: the ones that I think are nice: (A) host provides GL context,  (B) host provides cairo-context16:49
rgareusdrobilla: gtk sucks. X11UI and friends are not portable..16:49
rgareusexternalUI currently sucks least.16:50
drobillaSo it's listing an X11UI that you don't like?16:50
rgareusdrobilla: btdt.  setBfree is a openGL/puGL X11UI and CocoaUI.  it's a mess16:50
drobillaOkay16:51
drobillaFirst time you've actually mentioned this is part of it16:51
*** shanipribadi has joined #lv216:52
drobillaIt is a bit clunky but I only wrote one example so it didn't seem a big deal to list several16:52
rgareusdrobilla: I'd like to see the code that harrison uses, but it's closed source (and also externalUI)16:52
drobillaInterestingly, the most general solution to this is actually a MultiUI thing that isn't native tied16:52
drobillargareus: Well, somewhere in there you are always going to need to get the native window handle16:52
rgareusdrobilla: balance.lv2 is also an X11UI (no cairo)16:53
drobillapuglGetNativeWindow16:53
drobillaso no big deal there if you're using pugl16:53
drobillastruct {16:54
drobilla    LV2_URID type;16:54
drobilla    void*   widget;16:54
drobilla};16:54
drobillais the easiest thing, short of an enum instead of a URID I suppose16:55
drobillaWell, the easiest easiest thing is just NativeUI then assume what the pointer is16:57
drobillaBut unfortunately I don't think "native" is well defined.  X11? Wayland? Cocoa? Carbon?16:57
drobillaI will try to make glamp not use platform specific widget type, I suppose, but I have no other platforms to actually test it on anymore16:58
rgareuswhich reminds me. I wanted to add OutputPort, Enum to ardour's generic UI.17:06
rgareusand the generic integer widget could be improved as well.17:06
rgareusthe midifilters are odd to control (and I don't want to create custom UIs for those)17:07
rgareusdrobilla: one thing that we probably do agree on: Any custom UI is only warranted if has a dedicated use-case -- not just for look & feel.17:09
drobillargareus: I don't like them in general, but it's generally not worth arguing about17:10
drobillaMore work on fleshing out metadata for better generated UIs (which also happens to be better understanding of how to control a plugin in general) would be good17:11
drobillaBut people want their shitty pixmap knobs or whatever, fine :)17:11
* drobilla needs to implement groups in Ingen modules17:12
*** NickSB2 has joined #lv217:20
drobillaUltimately the thing you are providing is inherently going to be unportable.  The best we can do is make it so you don't have to describe n_platforms different UIs17:49
Anchakorwell a crossplatform layer would have to provide just the GL context and event handling no?17:59
drobillaso...... pugl18:06
drobillai.e. yes, and does18:06
drobillabut for LV2 UIs you still need to give the host a pointer to widgetey thing, which is not portable (XWindow, HWND, etc)18:07
Anchakorbut theoretically pugl could do it, right?18:09
drobillado what?18:13
drobillapugl already gives you the thing, sure.  The problem is giving it to the host18:13
drobillaincluding writing a ttl description of it18:13
drobillawe don't have a type for "some native thing depending on what platform you happen to be on at the moment", we have X11UI, CocoaUI, etc.18:15
Anchakorpugl already does it in crossplatform way?18:15
Anchakorbut we could have, right?18:15
drobillayes, that is the whole point of the thing.  writing crossplatform GL UIs is a solved problem.18:15
drobilla(it's basically a slight variation on GLUT)18:16
drobillaWell, I'm sure there's some reasonable way to do so.  That's the question.18:16
drobillaA simple NativeUI or something won't do, so we will need some kind of new binary thing (unfortunately) to expose the pointer and its type18:17
Anchakornot sure what "some kind of new binary thing" implies18:21
drobillaUIs expose a widget pointer.18:22
drobillaYou can't just expose a pointer to <something> and not have the host even know what that something is.18:23
drobillaTherefore something new is required to express that information. A struct or a pointer or whatever.18:23
AnchakorI see, so new API between plugins and hosts18:26
drobillaTo some degree, anyway.18:27
rgareusaaarg one more reason to discontinue GTK versions: https://github.com/x42/sisco.lv2/issues/318:52
rgareusingen crashes when plugin is removed while visible.18:53
*** falktx has joined #lv219:01
rgareusdrobilla: any chance that his crash is ingen+gtk related?19:01
drobillargareus: No idea.  Maybe.  I thought I had resolved this in suil, but destruction is a real bitch19:02
rgareusdrobilla: I'm sure is not a double free corruption.  and gtk_widget_destroy() usually does ref-counting. It's odd.19:02
AnchakorI had same type of crash long ago with ir.lv2 in qtractor19:02
rgareusdrobilla: I tried 3 time and could not reproduce it. so maybe there's a concurrency issue, too19:02
drobillalong time ago it was definitely broken19:03
drobillabut blablack would be using svn suil, I think19:03
rgareusdrobilla: the thread that calls deletion is called from  gtk_main() that part seems all right.19:10
drobillargareus: I'd try another GUI just to narrow it down, then maybe valgrind if patient, but no time now19:19
rgareusdrobilla: I cannot even reproduce it with ingen here :(19:24
*** rncbc has joined #lv219:41
*** HarryHaaren has quit IRC20:10
*** mlpug has quit IRC20:58
*** LAbot has joined #lv221:35
*** kaspar_e has joined #lv223:41
*** rncbc has quit IRC23:45

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