Thursday, 2015-02-12

*** john_cephalopoda has left #lv201:45
*** NickSB2 has joined #lv202:04
*** o0o0o has quit IRC02:52
*** zth_studiocomp has quit IRC02:52
*** zth_studiocomp has joined #lv202:57
*** o0o0o has joined #lv203:14
*** edogawa has joined #lv206:24
*** falktx has joined #lv207:24
*** gianMOD has joined #lv208:09
*** gianMOD has quit IRC08:33
*** gianMOD has joined #lv209:19
*** gianMOD has quit IRC09:23
*** john_cephalopoda has joined #lv209:25
john_cephalopodahi09:30
*** gianMOD has joined #lv209:59
*** ricardocrudo has joined #lv210:10
*** ricardocrudo has quit IRC10:20
*** HarryHaaren has joined #lv210:59
*** falktx has quit IRC11:13
*** falktx has joined #lv211:32
*** falktx has quit IRC11:47
*** gianMOD has quit IRC11:57
*** gianMOD has joined #lv212:27
*** ricardocrudo has joined #lv212:56
*** HarryHaaren has quit IRC13:19
*** gianMOD has quit IRC13:52
*** gianMOD has joined #lv213:52
*** gianMOD has quit IRC13:57
*** NickSB2 has quit IRC14:41
*** gianMOD has joined #lv214:53
*** gianMOD has quit IRC14:58
*** gianMOD has joined #lv215:03
*** ricardocrudo has quit IRC15:19
*** edogawa_ has joined #lv215:37
*** edogawa has quit IRC15:40
john_cephalopodaCan you recommend any good synths? I am using obxd atm but it only has two wave generators with saw and pulse, it seems.15:44
*** ricardocrudo has joined #lv215:57
*** ricardocrudo has quit IRC16:04
*** falktx has joined #lv216:27
*** gianMOD has quit IRC17:12
*** unclechu has joined #lv217:42
*** rncbc has joined #lv217:58
*** rncbc has quit IRC18:18
Anchakorif you are after oscillator count, then you should use ingen :)18:20
*** gianMOD has joined #lv218:23
john_cephalopodaOh, looks a bit like ams.18:27
*** gianMOD has quit IRC18:27
*** rncbc has joined #lv218:34
*** edogawa_ is now known as edogawa18:40
*** gianMOD has joined #lv219:02
*** gianMOD has quit IRC19:21
*** rncbc has quit IRC19:22
*** gianMOD has joined #lv219:43
*** gianMOD has quit IRC19:44
rgareusjohn_cephalopoda: modular synths?   or just synths in general?19:45
*** gianMOD has joined #lv219:47
rgareusheck, looks like no LV2-dev likes QT.19:54
*** gianMOD has quit IRC19:54
rgareuslv2 project - not plugin that is.  It's amazing, but OSX/cocoaUI and windowsUI support is better than QT.19:55
drobillargareus: Rui is the main one that comes to mind20:02
drobillaI've been reading too much about the abysmal state of desktop Linux lately.  I'm still miffed I have to abandon GWorld, but all hope is lost.  I might abandon the whole bloody platform at this point.20:03
* drobilla needs to steal and/or coopt a pugl-based toolkit20:03
drobilla... and figure out if I can embed UIs in a pugl-based ganv20:05
rgareusspeaking of embedding openGL:  http://robin.linuxaudio.org/tmp/setbfree_lv2_win_a3.png20:11
rgareusstill some issues with window-resize and borders..20:12
drobillargareus: cool20:12
rgareusdrobilla: it's a native windowsUI. I've uploaded a patch for suil to your tracker20:13
rgareuspugl also needs some tweaks for keyboard handling.20:13
rgareusbut one step at a time.20:13
rgareusdrobilla: https://github.com/pantherb/setBfree/commit/e9d23d30  (parse windows key wParam)20:15
rgareusthe static is ugly, but I don't think there's a way around it.20:16
drobillargareus: thanks, I'll merge it tonight20:18
drobillaprobably time to remove the LV2_1_6_0 #ifdef junk from suil20:18
rgareusdrobilla: I'll check next why resizes don't work.20:19
rgareusdrobilla: while you're merging. it'd be cool to have   http://dev.drobilla.net/ticket/997 upstream, too20:19
drobilla... in exchange for telling me if the waf currently in serd svn works on 10.6 ;)20:19
rgareusdrobilla: yes it does !!20:20
drobillargareus: Hm... I thought I did that, but apparently not20:20
rgareusdrobilla: but compiles with clang :(20:20
falktxis a x11/gtk2-on-qt5 useful?20:21
falktxI think I can do that one20:21
drobillargareus: meh.  can't make gcc the default always and a bunch of OSX version figuring out stuff would probably be rejected.  I can't be bothered.20:22
rgareusdrobilla: 10.6 has  gcc-4.2  (much more mature) than the experimental  clang-1.5 (tags/Apple/clang-60  from those days.20:22
drobillargareus: I'll be surprised if he even merges this simple bug fix20:22
*** gianMOD has joined #lv220:22
rgareusdrobilla: well, I've added CC=gcc CXX=g++  to the build scripts20:22
rgareusthat also still works with new waf/suil20:23
drobillargareus: Yeah, anyone who knows enough to care what compiler is used should know how to change it.  I just don't want a straight up crash in configure20:23
drobillafalktx: No idea if anyone is using qt5, but it can't hurt, I suppose.  I can upgrade the jalv test one, perhaps20:23
falktxqtractor can use qt520:24
rgareusfalktx: why is there anything x11 specific?   gtk2-in-qt5  does not care about the underlying window system, does it?20:24
falktxI didn't made suil, don't ask me20:25
falktxI don't even use it myself20:25
drobillaOne might ask the opposite question: why is there anything plugin-toolkit specific?20:25
rgareusfalktx: suild has   qt4_in_gtk2.cpp  and  gtk2_in_qt4.cpp  (no x11)20:26
drobillargareus: Actually it only works on X11 because GtkPlug doesn't work anywhere else20:26
rgareusthere's also   x11_in_qt4.cpp  but that's different20:26
falktxyes, but I'm not talking about qt5-in ... whatever, that can't be done20:26
drobillargareus: I believe it doesn't exist in Gtk3 at all, too, as a bonus20:26
falktxwhat can be done is ... -in-qt520:26
falktxqt5 can't embed itself on other things20:27
falktxnot with the current code20:27
drobillaA better design might be separate 'map UI X to native window' and 'embed native window in Y'.  I don't know if any functionality would be lost here, but I guess it would probably require actually implementing XEmbed which sounds rather un-fun20:27
rgareusdrobilla: that would get rid of the the number of permuations20:28
*** rolo has joined #lv220:29
roloHey guys20:29
rgareusdrobilla: but I think currently that's not a big deal. there's not too any of them and some don't even make sense  e.g. qt4-in-qt520:29
drobillargareus: Yes, it doesn't really matter20:31
rgareusmmh I can have multiple windows open& close them ad lib. but closing the last one ->  Segfault/corrupt stack.20:40
rgareuslast time I've seen this was due to pugl classNameBuf.20:40
roloHey guys I'm trying to make a simple delay plugin. It compiles fine but when I try to run it with Ardour, Ardour crashes with some broken pipe error. After googling, it seems this has something to do with the plugin not being thread safe. Any precautions on making it threadsafe?20:41
rgareusrolo: do you use custom threads in your plugin? or static global variable?20:42
rgareusrolo: https://github.com/x42/nodelay.lv2  # < very simple LV2 delayline.20:43
drobillarolo: Your plugin probably taking forever in run()20:44
drobillarolo: No blocking in run(), e.g. no mutex locks, etc20:44
roloI haven't declared any static global variables or custom threads.20:46
roloHow do you mean by no blocking?20:46
roloI'll be honest, I'm not too sure about all this constant pointer to constant...etc. stuff.20:46
drobillaI wouldn't think you had, in a simple delay.  Thread safety is irrelevant, then.20:46
*** gianMOD has quit IRC20:47
rgareusrolo: non-blocking : "never wait for anything"20:47
drobillarolo: It would be easiest if you just show us your code20:47
rgareuswe brake for nobody:  http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing20:47
roloblocking as in sleep()ing?20:48
drobillauh, yeah, that would certainly count :P20:48
roloI don't pause for input or call any function in the run(). Just assignments, operations, a n_sample for loop.20:48
roloYeah, I don't have any sleep()s there ^^20:48
rgareusrolo: heh20:49
roloIs Pastebin good, yeah?20:49
rgareusrolo: yep. pastebin away20:49
rgareusrolo: before testing in ardour. I find jalv as lv2-host a lot easier for plugin development. (running in gdb, valgrind,...)20:50
rgareusardour is the last step (multiple instances etc).20:50
*** gianMOD has joined #lv220:51
drobillaI was kind of hoping you wrote a "delay" with run() { sleep(5); memcpy(out, in); } :)20:51
rgareuslol20:52
*** unclechu has quit IRC20:52
rolohttp://pastebin.com/LNmqCSKG20:53
rololol20:53
falktxrgareus: are your pugl changes in the "upstream" repo yet?20:53
rgareusfalktx: no20:53
falktxrgareus: my UIs got broken for win32 since the event-rework, so I'm hoping you have fixes20:53
rgareusfalktx: upstream diverged too much.20:53
rgareusand I don't have time to keep up.  esp if things work here.20:54
rolorgareus, I'll look into that. I don't use C/C++ much so still gotta get the hang of gdb20:54
* rgareus reads20:54
falktxyeah, I kinda feel like going backwards now...20:55
roloIt's says reverb at the moment, but I haven't implemented that yet. Just starting with a simple delay plugin first.20:55
drobillaMost of them are.  I did it manually.20:56
rgareusrolo: mmh. I don't yet spot an obvious error. looks good20:56
falktxrgareus: is your code up? mind link me please?20:56
rgareusrolo: be aware that  output_left and input_left can point to the same data (in place processing)20:57
rgareusrolo: what happens if you just leave  run empty?   add a   return;   at the top.  does that prevent crashes?20:57
rgareusfalktx: I have not completed work (and not merged into robtk, either)20:58
roloI thought the .ttl file would correctly point the ports.20:58
roloTrying now.20:58
rgareusfalktx: current state is https://github.com/pantherb/setBfree/blob/master/pugl/pugl_win.cpp20:58
rgareusfalktx: also see the diff linked above20:58
rgareusrolo: the ttl   and the c  PortIndex  need to match20:59
drobillafalktx: What broke on win32?20:59
falktxdrobilla: size is not correct21:00
rgareusfalktx: resizing is still broken, here as well21:00
rgareusand there's a border21:00
drobillaWas it ever?21:01
falktxit was better before I think21:01
falktxbut anyway, the new pugl changes seem to be made specifically for x1121:02
roloI tried just a return in run(). Still crashes. The ttl and c indexes match.21:02
*** gianMOD has quit IRC21:02
falktxI kinda like the old simpler aproach21:02
roloBut I tried using an empty project and it worked!21:02
roloAs in, it doesn't crash21:02
rgareusrolo: empty project?21:04
roloA new Ardour project.21:04
rgareusrolo:  try   jalv.gtk  http://localhost/plugins/reverb21:05
drobillafalktx: The callback interface makes event delegation extremely tedious.  There's a reason absolutely everything else does it with event structs.21:05
roloWhen I make a new project and instantiate the plugin, it works. However, If I load an audio file and THEN instnatiate the plugin, it crashes.21:05
drobillaEmulating glut at all was a mistake, really.21:05
rgareus or later           gdb --args /usr/bin/jalv.gtk  http://localhost/plugins/reverb21:06
rgareusrolo: are you familiar with gdb?21:06
rgareusrolo: Reverb* reverb = (Reverb*)malloc(sizeof(reverb));21:06
*** gianMOD has joined #lv221:06
rgareusrolo:   ->  Reverb* reverb = (Reverb*)malloc(sizeof(struct Reverb));21:06
drobillaoooooooh right.  missed that.21:07
rgareusrolo: rolo line 4321:07
drobillavalgrind is your friend21:07
rolojalv.gtk http:local.... "works" I think21:07
roloI'm not familiar with gdb I could learn though21:07
roloI'm looking at that rgareus I don't see what's wrong ^^21:08
drobillarolo: reverb is a pointer.  sizeof(reverb) == sizeof(void*)21:08
drobilla(i.e. probably 4 or 8)21:08
roloAAAAH21:08
roloDam, nice one ^^21:09
*** NickSB2 has joined #lv221:09
drobillaalso using calloc generally doesn't hurt21:09
*** HarryHaaren has joined #lv221:11
*** gianMOD has quit IRC21:11
*** gianMOD has joined #lv221:12
roloHmm...When I slide the delay value, it crashes. I think it has something to do with line 107.21:17
rgareusrolo: add a    printf ("debug %f\n", *reverb->delay);  //21:18
rgareus(don't leave this in the final version,  printf() is not RT-safe, but handy to debug)21:18
rgareusrolo: but the problem is   *delay_pos = (*delay_pos != dt ? *delay_pos + 1 : 0)21:18
rgareusrolo: you slide it,  and  delay_pos can become larger than the max.21:19
rgareuse.g   delay_pos = 500.  then you slide 'dt' to become 400.  and delay_pos will increment to infinity..21:19
rgareusalso dt can become > .5  (LV2 does not guarntee that values are always in strict bounds - though they usually are)21:21
rolodt is (sample_rate * delay_slider_value)21:21
rgareusrolo: you assume that   *(reverb->delay)   the  delay_slider_value is always between 0 and 0.521:22
roloI have it's min as 0 and max as 50021:23
roloin the .ttl21:23
rgareus500 * reverb->sample_rate21:23
rgareusthat's more than you allocate21:23
rgareusleft_delay_buffer = (float*)calloc((int)(rate * 0.5), sizeof(float));21:24
roloAhhh, yes I see. Forgot that the rate is 44.1 and not 44100.21:24
roloCheers man21:25
rgareusrolo: either way. even though specified in the ttl,  there is no guarntee that the vaue always will be in that range. add a if() check. or a min(max(,),)  for the final version21:25
roloWill do, thanks man.21:26
rgareusmost LV2 hosts to properly honor the range..  but for floating point data... who knows. e.g. range  -1.2347 .. 0.49182  #< may be rounded21:26
rgareusoff by one or whatever21:27
roloThanks again guys, peace.21:57
*** rolo has quit IRC21:57
*** gianMOD has quit IRC22:55
*** edogawa has quit IRC22:57
*** HarryHaaren has quit IRC23:20
*** john_cephalopoda has left #lv223:22
*** ricardocrudo has joined #lv223:46

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