Monday, 2015-11-23

*** artfwo has quit IRC02:33
*** falktx`|home has joined #lv204:41
*** falktx|home has quit IRC04:46
*** colock has quit IRC04:50
*** colock has joined #lv204:54
*** colock has quit IRC05:12
*** colock has joined #lv205:13
*** aombk has joined #lv206:09
*** aombk2 has quit IRC06:12
*** edogawa has joined #lv207:09
*** falktx|work has joined #lv208:50
*** ventosus has joined #lv209:20
*** ricardocrudo has joined #lv209:56
*** Paul-Z has joined #lv211:34
Paul-ZGood Day!11:34
Paul-ZMmm... I'm new to LV2 without any programming background...But I want to try to write some LV2 plugins...11:35
Paul-ZSo... I need learn C first? Can i write LV2 using Java or Python?11:36
falktx|workjava and python are not RT friendly11:44
Paul-ZOh, so... C only?11:45
falktx|workC++ is fine11:45
falktx|workperhaps rust too, not sure11:45
falktx|workalso objetive-c/c++11:45
falktx|workthis might be useful http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing11:45
Paul-Zfalktx|work, so... I have to learn C/C++...11:45
falktx|workthere are some new stuff that allow to run lua and other script languages11:46
falktx|workbut they useless consume a lot more resources11:46
Paul-ZI know some SuperCollider.11:46
falktx|work*usually11:46
Paul-Zbut, I try to learn a General Language11:47
Paul-ZOh, Thank you, the website is useful11:48
Paul-ZI have never saw RUST, I'm going to search it.11:48
Paul-ZThank you11:49
falktx|workrecently I got Max gen objects working as plugins, quite neat11:51
Paul-Zas LV2 under Linux?11:56
falktx|workyes11:57
falktx|workhttps://github.com/DISTRHO/DPF-Max-Gen11:57
Paul-ZWow, Cool11:57
Paul-ZSo, I can write plugins using Max/PD, then export to the LV2 plugins via DPF-Max-Gen?12:00
falktx|workOnly the gen objects can be exported12:01
falktx|worktbh I don't really understand how it works right now, not really used to Max12:02
Paul-ZMmm... Gen Objects... such as phasor~ ?12:07
falktx|workhmm don't look at me, I never actually used max...12:07
Paul-Zthe part of MSP?12:07
falktx|workI just borrowed some generated c++ code from a friend that uses Max12:07
falktx|workthe Freeverb and BitCrusher seem to work12:08
Paul-ZOh...12:08
falktx|workif you open the gen object in max there should be an option to export the object as code12:08
falktx|worksend me that code and I'll add it as lv2 plugin12:09
falktx|workit should be a gen_exported.cpp and gen_exported.h files12:09
Paul-ZOh! Thank you!12:09
Paul-ZSo, If I wanna make some lv2 plugins, I don't have to learn C/C++, I can try to write it under Max/PD...12:10
Paul-ZWow... Cool...12:11
falktx|workthe code won't be perfect. hand-written would perform better. but hand-written is also much more difficult12:12
edogawaPaul-Z: may, be have a look at faust, it's a functional language for defining dsp algotithms and chains, and can generate LV2, VST, and standalone apps, with simple GUI, and there's even an online compiler12:14
Paul-ZYes, esp. to me, It's really difficult... but I just for fun, so, I think It's ok, I will try that later...12:14
Paul-Zedogawa, Oh, Thank you, I'm going to search faust.12:15
* edogawa always hoped for CLAM Network editor to mature but it seems to have stalled in development, and didn't compile last time he tried12:15
Paul-ZI thought I can try to learn Python first, because I like that syntax... :(12:17
edogawahttp://faust.grame.fr/ it's very different from other programming languages12:17
Paul-ZMmm... how about writing some android apps for audio processing?12:18
Paul-ZI want to try to learn a general purpose language, but not C/C++, Because I think It's too difficult...12:19
Paul-ZMmm... I think faust is good! I'm trying to install it...12:22
falktx|workthere's also csound12:22
falktx|workhttp://thecabbagefoundation.org/documentation.php12:23
Paul-ZMmm... How about SuperCollider?12:24
Paul-Zcan I export lv2 from SuperCollider codes?12:24
Paul-ZI can write some SuperCollider codes only for now...12:25
Paul-Zedogawa, Mmm...  faust seem writen by C++?12:28
falktx|workit generates c++12:29
edogawaPaul-Z: you write your code in faust, the compiler translates this to C++ and finally builds what you tell it, using various faust2* utility scripts12:30
Paul-ZOh! thank you, I understand now! I just installed it from repo... But... No IDE is installed... I'm trying to download it from web...12:32
Paul-Zedogawa, it's just a compiler I have installed...12:33
Paul-ZIs it okay if I learn it using a text editor? such as Sublime? Is faust's IDE better?12:34
falktx|workdoes it really need a custom IDE?12:37
edogawai have played a bit with FaustWorks, but it seems to have been superceeded by FaustLive (which i haven't tried yet, i don't really code currently and won't in foreseeable future)12:39
Paul-ZYes, I just found that... But, I found FaustWorks in sf.net...12:40
Paul-ZSo... FaustWorks is a custom IDE for faust?12:41
edogawawell it was managed by the Faust team, iirc12:41
edogawahttps://sourceforge.net/p/faudiostream/faustworks/ci/master/tree/12:42
edogawabut it looks frozen, since more than a year (last commit was to port to Qt5)12:43
Paul-ZOh....12:43
Paul-ZSo, try to install faust live is better....12:45
edogawai'd think so :) and then you can follow the CCRMA course better, too12:46
edogawahttps://ccrma.stanford.edu/~rmichon/faustWorkshops/course2015/12:47
Paul-Zedogawa, righto, Thank you.12:48
*** artfwo has joined #lv212:49
*** ddom has joined #lv212:53
*** Paul-Z has quit IRC12:59
*** NickSB2_ has quit IRC14:23
*** Paul-Z has joined #lv214:24
*** Paul-Z has left #lv215:31
*** son0p has quit IRC16:05
*** edogawa has quit IRC16:08
*** son0p has joined #lv216:13
*** son0p has quit IRC16:19
*** son0p has joined #lv216:19
*** deva has joined #lv216:28
falktx|workdrobilla: your software pages still reference svn. like http://drobilla.net/software/serd/16:29
*** son0p has quit IRC17:33
*** son0p has joined #lv217:34
*** son0p has quit IRC17:41
*** son0p has joined #lv217:42
*** sigma6 has quit IRC17:48
drobillayaya :P17:50
drobillafalktx|work: ... huh.  it even adds an open source license header17:52
drobillafalktx|work: does that mean we can methodically port all max gen objects to LV2?17:52
drobillaThey seem to have no message interface.  Are gen objects all inherently LADSPA-like in their interface?17:53
drobilla(not quite, but more or less, the other messages are pretty max specific and/or don't apply to exported code)17:56
*** ddom has quit IRC18:27
*** colock has quit IRC18:44
*** colock has joined #lv218:44
falktx|workdrobilla: seems like it. there's no internal state from what I've seen. just parameters18:46
falktx|workdrobilla: I haven't seen a synth. so I don't know how midi works yet18:49
*** falktx|work has quit IRC19:16
*** ricardocrudo has quit IRC19:25
*** rncbc has joined #lv219:32
*** deva has quit IRC19:59
*** rncbc has quit IRC20:12
*** rncbc has joined #lv220:14
ssj71if I made my plugs look for an optional config file in a users home directory so they can configure oversampling and such instantiation things, would that be abominable?20:23
ssj71I don't want to expose it as a parameter and do some self-reinstantiation scheme20:34
*** falktx`|home is now known as falktx20:43
falktxssj71: create a simple UI tool to configure your plugins20:44
ssj71falktx: one that creates the file I presume?20:45
ssj71I could probably do that20:45
falktxyes20:45
falktxsimple enough, easy to use.20:45
ssj71falktx: do you have an opinion on starting a github group vs. just using a personal repo? i.e. rkrv2/rkrv2 vs ssj71/rkrv2? I only want to change URI once20:47
falktxdepends if you want the project to be maintained by someone else too20:47
falktxfor my own stuff I keep it on the falkTX repo20:48
falktxbut I have DPF and DISTRHO team as a team20:48
falktx*DISTRHO stuff20:48
falktxI'd be happy to be a co-maintainer of rkrv2 :)20:48
ssj71cool. I think I'll do a group then20:49
falktxssj71: here's a proposal. keep the current rkrlv2 code as-is with only bugfixes20:49
falktxssj71: then do the rkrv2 where the real work happens20:49
ssj71well, the issue is that to fix the bugs, I have to do some changes20:50
ssj71some BIG changes that is20:50
falktxbugfixes only though. those that don't involve file changes20:50
falktxremoving broken parameters is a bugfix :)20:50
ssj71true20:50
falktxI already have those plugins on kxstudio and on MOD. not at work that great, but some are nice20:51
falktxI think it's better to focus on 1 at a time20:52
falktxyou did the whole rkr deal very quickly, very raw, afaik it's the real rakarrack experience :)20:52
ssj71lol pretty cose20:53
ssj71*close20:53
ssj71thing is that "very quickly" amounted to months of work20:53
ssj71but I like this idea the more I think about it20:56
ssj71then I can deprecate rkrlv2 plugins as the rkrv2 come20:57
colocklove carla21:16
ssj71do most hosts respect pprops:notOnGUI?21:24
drobillassj71: Using a global or user installed thing *as a default* is not super terrible21:51
drobillassj71: But state not restoring things exactly as they were is21:51
drobillassj71: i.e. you should probably save the configuration21:51
ssj71so the file would then need to be turned into an lv2 state21:53
drobillaI'm not sure what that means21:54
drobillaYou can save files in your state.  The file can be whatever21:54
ssj71ah ok. so if no state is passed from the host then use the file if it exists.21:55
ssj71thats manageable. Though still a bit more complex than it seems it should be21:55
drobillaAbout as non-complex as anything could be that actually restores properly...21:56
drobillaThere is a more complex (but less shitty in some ways) way to do it, but that's not it :)21:57
drobillaWhether or not its worth it depends on how much that configuration affects output and so on21:58
drobillaIf the user isn't really going to notice either way, whatever21:58
ssj71well, most ideally for me would be a way to have a port that somehow is marked as an "instantiation option" and the host would pass it in with the other host features21:58
ssj71but that probably seems more ideal cause I make plugins not hosts21:59
drobillaUse messages for that.  Then you just need one port for such things until the end of all time and you can do whatever with it21:59
ssj71but then the host has to implement some way for a user to configure it. The best way is state. I'm just lazy22:00
falktxjust use a simple stupid ui tool to configure it22:01
drobillaTrue in a sense, but it's not one or the other22:02
drobillae.g. you could perhaps make the config file in a state bundle and just use Jalv or whatever to "configure" it by saving to that bundle.  No writing UI tool just for this required22:02
* drobilla is also lazy, if in a slightly different way :)22:02
drobillai.e. if your "configuration" is a default state (supported in hosts by listing a state:state on your plugin), you only need one host to support the dynamic tinkering and you can use it to save your default configuration22:04
drobillaBut if you definitely will have no other use for state in any of the plugins ever, yeah, buncha stuff to do22:05
ssj71I'll have to do some homework on this22:11
*** ventosus has left #lv222:11
ssj71problem is by the time you get state the plugin is already instantiated22:14
ssj71too late to resize the buffer to allow oversampling (the primary setting I'm considering)22:14
ssj71at least without doing a lot of extra worker etc stuff22:15
ssj71another use case is max time for a delay22:20
ssj71ah that one is more complex though since you probably have a parameter that sets the delay22:22
drobillatrue, though state restoration is non-realtime so you don't have to use worker stuff22:30
ssj71ah. then that would work22:32
* drobilla sighs22:59
drobillardflib is so awful22:59
falktxor maybe lilvlib is too good ;)23:00
colockeheh23:02
drobillaspeed-wise serd is pretty awesome if I do say so myself, but even ignoring the really, really abysmal performance, rdflib is just shitty in countless ways you can't get around23:04
drobillaOne day in the glorious future when I actually have time to merge serd and sord into a coherent minimal C rdf library, I'll just do python bindings for that...23:05
drobilla(Haven't looked around for pure Pyton alternatives in a while though, maybe there's something nicer on the scene these days)23:28
*** rncbc has quit IRC23:39
drobilla... e.g. it won't resolve against unix:///foo/bar URIs, or unix:/foo/bar URIs, but it will against the nonsense unix://foo/bar23:53
drobillaThe algorithm for this is very explicitly defined in the URI syntax RFC, you'd have to try to screw it up23:57

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