Sunday, 2016-02-28

*** drobilla has joined #lv200:26
*** ricardocrudo has quit IRC00:30
*** timbyr__ has quit IRC01:13
*** timbyr__ has joined #lv201:25
*** NickSB has quit IRC01:47
*** NickSB has joined #lv201:47
*** trebmuh has quit IRC02:18
*** NickSB2 has joined #lv202:23
*** timbyr__ has quit IRC02:46
*** timbyr__ has joined #lv202:51
*** falktx` has joined #lv204:35
*** falktx has quit IRC04:39
*** timbyr__ has quit IRC04:49
*** timbyr__ has joined #lv204:52
*** falktx` has quit IRC06:07
*** falktx` has joined #lv206:08
*** deva has joined #lv207:17
*** son0p_ has quit IRC09:35
*** son0p_ has joined #lv209:41
*** Magnus_RM2 has quit IRC10:08
*** trebmuh has joined #lv210:41
*** edogawa has joined #lv211:36
*** ventosus has joined #lv211:42
*** ventosus has quit IRC11:47
*** LAbot has joined #lv212:03
*** ricardocrudo has joined #lv212:21
*** sigma6 has joined #lv212:32
*** rncbc has joined #lv212:44
*** EntropySink has joined #lv212:51
*** EntropyS1nk has quit IRC12:53
*** SianaGearz has quit IRC12:54
*** rncbc is now known as rncbc|AFK13:03
*** LAbot has joined #lv213:16
*** EntropyS1nk has joined #lv213:31
*** EntropySink has quit IRC13:33
*** son0p_ has quit IRC14:05
*** grejppi has quit IRC14:52
*** grejppi has joined #lv214:52
*** falktx has joined #lv215:24
*** rncbc|AFK is now known as rncbc15:27
*** falktx` has quit IRC15:27
*** drobilla` has joined #lv217:15
*** drobilla has quit IRC17:17
*** son0p_ has joined #lv217:27
*** son0p_ has quit IRC17:34
*** ventosus has joined #lv217:38
*** Spark[Nick] has joined #lv218:48
Spark[Nick]Hello folks. I've got a LADSPA problem and I'm not sure where to turn, since LADSPA's site is dead and there's no chatroom for it. Is it okay if I ask here?18:49
falktxdon't ask to ask, just ask?18:51
Spark[Nick]well, okay, i wasnt sure if LADSPA questions were okay here :P18:52
Spark[Nick]so i've written a LADSPA plugin that does nothing, but theoretically should load into programs fine18:52
Spark[Nick]in audacity it loads but it can't be enabled; in LMMS it just doesn't load18:52
Spark[Nick]so... can someone take a quick glance at the source code and lemme know if there's something glaring i've missed? http://pastebin.com/sSLXCaUF18:53
HarryHaarenSpark[Nick]: not to rain on your parade, but is there a good reason you're not writing an LV2 (LADSPA V2) plugin?19:04
Spark[Nick]yeah actually - i want to use it with LMMS and it doesnt support LV2, sadly.19:04
Spark[Nick]I would much rather write LV219:04
HarryHaarenSpark[Nick]: fair enough - actually LMMS does have an LV2 branch, where grejppi implemented a lot of LV2 functionality19:04
HarryHaarenit works, and synths can play presets, but the control-port side of things wasn't finished yet19:05
HarryHaaren(and there's no UIs there yet)19:05
Spark[Nick]hmm, alright - i'll give that a shot19:05
HarryHaarenSpark[Nick]: anyway, LADSPA code looks ok to me, nothing too crazy19:06
*** sigma6 has quit IRC19:06
HarryHaarendidn't test, just a glance19:06
Spark[Nick]yeah, that's fine - at least i know there's nothing majorly off with the source19:06
Spark[Nick]i'll try changing the compile settings and making a few minor changes, and if that doesnt work i'll use the LMMS LV2 branch :) thank you!19:06
falktxuse statics instead of heap allocation please19:07
falktxfor the metadata19:07
Spark[Nick]hmm okay, i'll try that19:08
Spark[Nick]i was basing it off of the source of TAP, but that _is_ a decade old so...19:08
falktxmake sure the descriptor symbol is exported19:09
Spark[Nick]as in, the ladspa_descriptor function?19:10
falktxyes19:11
Spark[Nick]okay, will do. ty :)19:11
*** NickSB2 has quit IRC19:11
Spark[Nick]oh, and to be clear, when you say the metadata, you mean all the descriptor stuff, right?19:13
falktxwell, metadata, yes19:15
Spark[Nick]okay, sorry just wanted to be sure19:16
Spark[Nick]should i make the descriptor itself static too? or just its members?19:30
falktxyes, and yes19:52
falktxI mean, all static if possible19:52
falktxno need for _init() and _fini() nonsense19:53
Spark[Nick]...OH20:23
Spark[Nick]i thought that was required for LADSPA, i didnt realize it was just a TAP thing20:23
Spark[Nick]that's what i get for trying to base it off someone else's code hah20:23
Spark[Nick]that fixed it! thank you so much for pointing out my stupid mistake hah20:26
grejppiHarryHaaren: Spark[Nick]: about lmms + lv220:29
grejppijust wanted to say that I started to rewrite the whole thing20:29
HarryHaarengrejppi: yeah? Oh ok, any particular reason?20:30
grejppiHarryHaaren: see https://github.com/LMMS/lmms/issues/261620:31
grejppibasically I want to reduce the number of reinvented wheels and consolidate all plugin formats that LMMS supports into a common base class, which will in turn make implementing LV2 support a lot easier20:31
HarryHaarengrejppi: wow that sounds brilliant!20:33
* HarryHaaren checks commits / diffs20:33
*** ventosus has left #lv220:34
falktxnice20:36
HarryHaarenyeah looks good - inheritance is the right solution here for sure20:36
Spark[Nick]lmao i think i just blew my speakers while testing my ladspa plugin20:39
HarryHaarenSpark[Nick]: ouch - what happend? Really loud noises, or what?>20:45
Spark[Nick]yea20:45
Spark[Nick]i dunno what i did lol, but at least i've gotten the hard part done with20:45
Spark[Nick]Ohh haha i was writing to the input instead of the output20:46
Spark[Nick]no wonder20:46
falktxthat means the plugin is working though, so that's something20:47
Spark[Nick]yea, its working now!20:47
HarryHaarenawesome, good stuff20:47
Spark[Nick]thank you all so much for your help!20:47
HarryHaarennow the big quiestion - what type of distortion are you making?20:48
Spark[Nick]i'm actually not sure, i'm just gonna mess with some weird formulas till i find a cool effect20:48
Spark[Nick]this plugin is mostly just a test, so i know how to make future ones20:48
*** ricardocrudo has quit IRC20:51
Anchakor_falktx: I've been off linux audio for a while, what is the current recommented convolution/IR plugin?21:06
*** ColaEuphoria has joined #lv221:06
*** EntropySink has joined #lv221:07
*** EntropyS1nk has quit IRC21:09
HarryHaarenSpark[Nick]: ah cool, good luck with it. If you do need some inspiration for DSP, there's a few good sources online: i like browseing the musicdsp.org archives for crazy ideas21:10
Spark[Nick]alright, i'll check it out, thank you :D21:11
*** deva has quit IRC21:11
HarryHaarenthere's also a few nice books (i know - old school :) that have detailed explainations of dsp/synth techniques that have not been much explored yet21:11
ColaEuphoriaare we talking about DSP?21:11
HarryHaarenhttp://www.musicdsp.org/showmany.php21:11
ColaEuphoriaeverything i learned about DSP was on dspguide21:11
HarryHaarenColaEuphoria: yup. Spark[Nick] is writing plugins, and hence -> DSP21:11
ColaEuphoriahttp://dspguide.com/21:12
ColaEuphoriayeah21:12
HarryHaarenah yes, JOS has a brilliant guide there. Its pretty maths heavy at times though - I found it hard to follow a lot of it21:12
* HarryHaaren is not mathemathician, but mathemusician21:12
ColaEuphoriahehe21:12
Spark[Nick]hah21:12
HarryHaarenColaEuphoria: when I was at LAC 2012 I met Julien, really nice guy, and now I read dspguide in his voice ;)21:13
ColaEuphorianoice21:13
HarryHaarenCola what DSP stuff have you been working on?21:13
ColaEuphoriahttp://www.synth.love/delicate/21:13
ColaEuphoriadon't get too hyped or anything yet21:13
ColaEuphoriai'm still in the process of figuring out exactly what i want to do with it21:14
ColaEuphoriaand i'm keeping it secret until then before people come rushing in with weird amorphous ideas ;)21:14
HarryHaarenCol, sounds cool though21:14
ColaEuphoriaright now i'm looking into SIMD optimizations for better matrix multiplications21:14
HarryHaarenColaEuphoria: needs a UI for shiny-FX though... if you have something you can share (even privately with me - and I'll promise no-re-sharing) we could collaborate on a UI?21:15
HarryHaarenI've been working on a standalone UI toolkit for a while: http://openavproductions.com/avtk/21:15
ColaEuphoriai've been thinking about a UI21:15
ColaEuphoriaalthough21:15
HarryHaarenoh cool - sorry I presumed you hadn't yet :/21:15
ColaEuphoriai've also been thinking about how to make the UI cohere with the plugin the best21:16
HarryHaarendo tell?21:16
ColaEuphoriayou know about IL Sytrus by any chance?21:16
ColaEuphoriahttps://www.image-line.com/support/FLHelp/html/img_plug/plugin_gen_sytrus1.gif21:16
HarryHaarenyep21:16
ColaEuphoriathat matrix on the right is pretty neat21:16
HarryHaarenKinda like http://openavproductions.com/ninja/ ? :D21:17
ColaEuphoriabut it lacks any support for matrix row/column operations21:17
ColaEuphoriathe biggest thing delicate will be focusing on is performance21:17
ColaEuphoriaand embeddability actually21:18
ColaEuphoriai think i've decided that i should focus on that21:18
ColaEuphoriaso the UI should be a separate project altogether, perhaps21:18
HarryHaarensure - LV2 allows the UI to be in a different bundle totally - pretty neat :)21:19
HarryHaarenbut see how you get on, and if you want any feedback at any point, I'm always interested in testing + providing feedback. harryhaaren@gmail.com21:19
ColaEuphoriathanks! i'll keep that in mind21:19
ColaEuphoriaright now i'm focusing on migrating the matrix parameters to lv2 parameters instead of ports21:20
ColaEuphoriai'm using the same port for params as midi in21:20
ColaEuphoriaand i'm wondering21:20
ColaEuphoriainside of the LV2_ATOM_SEQUENCE_FOREACH macro21:20
ColaEuphoriais it guaranteed that they will all come in order?21:20
HarryHaarenyeah I think so.. but why would it matter?21:21
Spark[Nick]I should buy the domain for the ladspa site and attempt to make an updated resource for LADSPA developers21:21
HarryHaarenfor ninja's matrix, I send events like so:21:21
Spark[Nick]and point them in the direction of LV2 as well :P21:21
HarryHaarenevent{ int row, int col, float value }21:21
ColaEuphoria<HarryHaaren> yeah I think so.. but why would it matter?21:21
ColaEuphoriaso a parameter can be set at a specific time before a midi event plays21:21
HarryHaarenSpark[Nick]: meh.. really LADSPA should go get in its grave. As much as it done for the community, LV2 should get all attention now21:22
HarryHaarenColaEuphoria: sure yes, that is true.21:22
Spark[Nick]then maybe I could just buy the domain and have a redirect to the LV2 site :P21:22
HarryHaarenColaEuphoria: I imagined you were going down the "setRow(1); setCol(5); setValue(12348);" route - which is a bad idea21:22
HarryHaarenSpark[Nick]: Now you're talking ;)21:22
HarryHaarennah really though, just write awesome LV2 plugins - better way of spending time + money :D21:23
ColaEuphoriaSpark[Nick] you could do that, but i wouldn't make it an autoredirect, it might lead to confusion if people are expecting LADSPA and they think it "migrated" to this new site21:23
Spark[Nick]yeah, that's true21:23
ColaEuphoriaat least make it a page that says something akin to "dawg, this broject is obsoleted, cheggout this new one"21:24
Spark[Nick]that is exactly what i will write21:24
Spark[Nick]:P21:24
HarryHaarenYo dawg, we heard you like plugins, so we put some plugins in your plugin :)21:27
HarryHaarenfalktx: Can't carla do that ^ ? :D21:27
*** deva has joined #lv221:30
grejppiSpark[Nick]: btw, I once made a tool to generate a thin LADSPA wrapper around LV221:34
grejppijust so that I could pretend to write only LV2 plugins and still run them in LMMS21:34
grejppiSpark[Nick]: https://github.com/grejppi/bitrot/blob/master/ladspagen.py21:34
Spark[Nick]that's awesome i'm 100% using that21:34
Spark[Nick]bookmark'd21:35
grejppiit's old and messy but does its job21:35
HarryHaarenbahah grejppi you're awesome :)21:35
HarryHaarenon that topic, are you hoping to go to miniLAC this year?21:35
grejppiHarryHaaren: sure I am21:36
* HarryHaaren will donate drink-of-choice for your work at LMMS then :)21:36
HarryHaarenSpark[Nick]: i guess the US is a little far to travell to Berlin for a chat about linux-audio stuff?21:36
Spark[Nick]yeah haha21:36
Spark[Nick]especially since im 17 and dont even use linux :P21:36
Spark[Nick]i like LMMS because its open source, mainly21:37
Spark[Nick]really hope to start using linux in the future though, once i'm confident i wont mess anything up21:37
HarryHaarenSpark[Nick]: re linux: use a USB stick to start out, and its pretty easy - check Ubuntu for starting, and there's a huge community / help out there21:38
HarryHaarenif you're interested in low-level stuff, its really an awesome OS21:38
Spark[Nick]alright, i'll try that21:38
HarryHaarenI done some tuning to make it as fast as possible for real-time audio latency, and you can literally see what the process-scheduler in the OS is doing21:38
HarryHaarenthat type of info just ain't available in Windows / OsX world21:38
HarryHaaren(most users won't care though - "if it works it works" mantra)21:39
HarryHaarenbut for code-hackers + interested like yourself, its a fantastic thing21:39
Spark[Nick]yeah, plus i really like open source stuff21:40
HarryHaarenin that case - even better. You a musician too?21:43
Spark[Nick]sorta, I play piano and i write music, but i'm not very good21:43
HarryHaarenah cool - made me enjoy coding DSP stuff much more, given that you can play a piano plugin through your own stuff, and see what happens :D21:46
* HarryHaaren plays some piano, not very good, but enjoys it a lot. Always attempts to learn songs that are techincally too difficult21:46
Spark[Nick]hah same21:46
HarryHaarenfavorites? I'm a chopin / rach fan :)21:46
Spark[Nick]well, i'm not really into classical, if i'm gonna be honest21:47
Spark[Nick]i used to be, but then i discovered indie rock...21:47
*** deva has quit IRC21:50
HarryHaarenfair enough - i'm down with lots of music really, but for piano i do like classical a lot21:50
HarryHaarenany "underground" indie you wanna link me?21:51
* HarryHaaren still curious21:51
Spark[Nick]well, i'm not into super super underground stuff, but I like stuff like The Shins, the Silversun Pickups, Neutral Milk Hotel, etc21:51
Spark[Nick]oh and The Manic Street Preachers, they're more alt rock than indie but they're great21:52
HarryHaareni know Manic street, never heard of the rest :D21:53
* HarryHaaren lives in ireland, very different indie scene here I guess21:53
Spark[Nick]oh, yeah the first three are all american21:53
*** edogawa has quit IRC22:13
Spark[Nick]grejppi, since you seem to be knowledgeable about LMMS - i've found that my plugin crashes when I apply it to the master FX channel, but not when I apply it to a track, any idea what that might be about?22:58
HarryHaarenSpark[Nick]: channel count?23:02
* HarryHaaren just guesses23:02
HarryHaarenaka, are you dealing with mono/stereo?23:02
grejppiSpark[Nick]: would you mind sharing the source code?23:03
Spark[Nick]uh mono23:03
HarryHaarenis there gonna be an issue if 2 instances are started for a "stereo duplication" for the master track23:03
HarryHaarenaka, are you using any static variables?>23:03
Spark[Nick]i am using all static variable23:03
Spark[Nick]s23:03
HarryHaarenSpark[Nick]: ^ that's probably it: no statics allowed in plugins :/23:03
grejppiouch23:03
Spark[Nick]...oh23:03
HarryHaarenpass a struct around23:03
HarryHaarenaka, LADSPA_HANDLE23:03
HarryHaarenand cast it23:03
Spark[Nick]i was told to use all statics23:03
HarryHaarenNOOOO23:03
ColaEuphoriaoh oby23:03
Spark[Nick]lol, that explains it, thanks23:03
ColaEuphoriaboy*23:03
Spark[Nick]i guess that person was just messing with me23:04
grejppithe functions should be static but not the data23:04
HarryHaarenSpark[Nick]: it makes sense: loading multiple instances of a plugin into one address-space will overwrite the old instance if they're static23:04
Spark[Nick]oh, that's true23:04
HarryHaarenStatic variables in this case23:04
HarryHaarenstatic functions on the other hand, are really useful for plugins23:04
* HarryHaaren hates the multiple overloading of "static", its so hard to explain all the variations :/23:05
ColaEuphoriastatic member functions, however...23:05
Spark[Nick]actually, though23:05
Spark[Nick]i realized that if i load the plugin into a track first, it's fine23:05
Spark[Nick]and if I THEN put it in the master FX it's fine23:05
Spark[Nick]but if i start out putting it in the master FX, it crashed23:05
Spark[Nick]i'll go ahead and post my current source, i think it's actually fine since i'm only using statics for the metadata23:06
grejppi'into a track'... instrument track, or mixer track?23:06
Spark[Nick]instrument track23:06
Spark[Nick]http://pastebin.com/sSLXCaUF23:06
Spark[Nick]i probably missed something obvious, but i'm not seeing it23:08
* grejppi takes a look23:09
*** ricardocrudo has joined #lv223:10
falktxSpark[Nick]: I meant you should use all statics *for the metadata*23:13
Spark[Nick]yeah, that's what i did23:13
Spark[Nick]i misunderstood the question just then23:14
falktxplugin instances can't use statics23:14
Spark[Nick]I didn't23:14
falktxok good23:14
falktxyou're still allocating the descriptor on the heap though23:14
falktxthat's a small (but real) memory leak23:15
Spark[Nick]oh, hm, i'll fix that23:15
falktxif you make LADSPA_Descriptor a static you can return its pointer23:15
falktxbut "descriptor->instantiate = &instantiate_distorter;" doesn't seem 100% right23:16
falktxalthough I guess it could be valid23:16
falktxthe '&' is not needed there23:16
Spark[Nick]oh, okay23:17
grejppiSpark[Nick]: you're missing port range hints23:17
Spark[Nick]OH23:17
falktxposition variable is unused23:17
Spark[Nick]okay, i'll add that23:17
grejppiso it's lmms that's crashing23:17
Spark[Nick]and yeah, i put the position variable thinking i'd use it but never did :P23:18
grejppihttps://github.com/grejppi/bitrot/blob/master/include/bitrot_reverser_wrapper.h23:18
grejppiSpark[Nick]: ^ this is what my tool generates23:19
grejppiposting if it may be of help23:19
falktxnow that's a nice static initialized plugin :)23:19
Spark[Nick]okay, I'll look at that - tyvm23:19
falktxgrejppi: why use descriptor.instantiate and not ladspa_instantiate directly?23:19
falktxoh wait, nvm23:20
grejppifalktx: it's a hack really, descriptor is a static LV2 descriptor23:20
grejppithis file is to be included in the main C file23:20
falktxyeah, the similar names confused me23:20
falktxseems like it's calling itself recursively :P23:21
*** rncbc has quit IRC23:24
Spark[Nick]grejppi your advice fixed it. cant thank you enough, really, you've set me on the right track for lots of plugin development in the future :)23:26
grejppiSpark[Nick]: that's great to hear :323:27
grejppiwelp, I'm off to sleep now, so if you have any further questions jsut mention me23:28
grejppi*just23:28
Spark[Nick]alright, goodnight!23:28

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