Saturday, 2015-03-07

badosudrobilla: nice!, gonna take lok at and apply00:52
drobillabadosu: Haven't pushed yet, fixing some other preset stuff00:57
drobillaWorking towards Jalv and Ardour being on the same page with half decent preset management00:58
badosudrobilla: how do you know thich categorie a preset belongs to?01:03
drobillaThey have to be explicitly in banks01:03
drobillaNot sure how to expose preset deletion in Jalv with just a menu.. :/01:07
drobilla'Delete current preset' I suppose01:07
badosuI didnt find the vocabulary for bank in lv201:08
drobillaThat's because there wasn't one01:09
drobillaI guess I can push that part01:09
drobillaLV2 had no concept of "preset bank" until last night, on my machine01:10
badosudrobilla: ok, nice to hear01:10
badosuis there any other plugin with massive plugin quantity like amsynth?01:10
badosus/plugin q/preset q/01:11
*** edogawa_ has quit IRC01:11
drobillaHrm.  deletion is tricky02:36
drobillaAnything that nukes things on the filesystem makes me nervous...02:36
badosuhttps://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac02:47
drobillahaha02:50
badosuomg, can't stop cracking up everytime I see this again02:50
badosuI like how the first guy responding is totally cool with it: https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/12302:51
badosu" I have to work tommorow, and require my computer, so this could be a late night reinstalling/recovering my personal files. Oh well, I guess that is what I get for alpha testing ;D"02:52
badosupriceless02:52
drobillarm -rf in install scripts, good grief02:52
badosuDAT blink at the end02:52
badosuthere's also this one https://github.com/ValveSoftware/steam-for-linux/issues/367102:53
drobillaI wonder if we should have some sort of "user saved" property in the spec for this03:18
drobillaThere isn't really any difference between ones that comes with plugins and those, currently, so this stuff will happily delete plugin-installed presets assuming the user has permission to do so.03:18
* drobilla meticulously scans code to figure out what to free()05:10
drobillaI really hate C sometimes05:10
*** curlymorphic has quit IRC06:02
*** curlymorphic has joined #lv206:12
drobillaThis is taking waaaaaaay more time than it was supposed to :/06:56
drobillargareus: massive issues with unloading stuff + sord btree too.  sigh.07:22
drobillaThat was for #ardour-dev, but I suppose it fits anyway07:23
drobillaServes me right for half-assed test suite updates07:23
*** edogawa has joined #lv208:24
drobillabadosu: Pushed preset vocab to lv2, committed support in Jalv, and submitted a patch to amsynth's tracker that implements banked presets08:49
drobillabadosu: Also implemented support for preset deletion in Jalv and improved the menu a bit08:50
badosudrobilla: nice!09:02
badosudo they actually merge these patches? I submitted an issue there 2 days ago as well09:02
drobillaThey have merged some of mine in the past09:03
badosuyou made the label mandatory for presets?09:04
badosuoh, forget it09:05
badosuread it wrong09:05
badosuso lv2 is just a bunch of ttls and sample plugins from what I see09:06
drobillaalways has been.09:11
drobillaAPI headers (obviously), some utility headers09:12
badosuog fod, how svn is slow09:13
badosuI am seeing your changes on lilv, lv2 and jalv09:13
badosuand svn -l n --diff is slow as hell09:13
badosucool, you actually test lilv09:14
badosuit's impressive how lv2 is flexible, bank addition did not require any changes on the parser09:17
badosuI like how the patch you sent to amsynth does not have anything to do with banks09:20
badosudid you send the bank patch by email? I can't find it on https://code.google.com/p/amsynth/issues/list09:22
drobillaTurtle's a standard language, just adding some stuff isn't going to need any parser changes.09:24
drobillaYou can add basically whatever you want there, it doesn't have to be LV2 standard stuff.  It's completely extensible.09:24
* drobilla notices he botched the captcha, actually submits ticket09:24
badosuyep, looks like separating data from code payed for itself09:32
badosuyou forgor the patch09:32
badosuI guess you need some sleep, lol09:33
badosuI mean, you sent the issue but forgot to attach the patch09:33
*** falktx has joined #lv209:51
drobillaattached09:54
drobillastupid thing clears the file when captcha fails09:54
badosudrobilla: visualization is still not the best, but at least it's much better, thanks!10:10
drobillavisualization?10:23
* drobilla passes out10:28
*** Anchakor1 has quit IRC11:19
*** wend has joined #lv211:36
wendHi guys11:36
wendin the run() function for plugins, does n_samples refer to the length of the entire audio to be processed, or a small window of it, such as 1024 samples?11:38
badosuwend: more like small window11:51
wendThanks. I'm working on a plugin for Ardour. If I set the buffer size to 1024 in Ardour, n_samples == 1024?11:54
badosuwend: I can't imagine why that would be the case, but I am not an experto on this matter11:57
grejppibadosu: why not11:58
grejppithat should be exactly what it's going to do11:59
badosugrejppi: so that12:04
badosu's it :-)12:04
badosuI thought it was more complicated than this12:05
grejppithat's it, indeed12:06
badosuthanks12:06
grejppiso the answer to wend's question would be: yes12:06
grejppias the plugin simply does not know about anything outside the samples it's given to process12:08
badosuthis is quite surprising for me, I thought for some reason audio applications could schedule how many samples to process dynamically12:08
badosuI don't know why I thought this anyway12:09
grejppithey can, but usually they use a fixed size12:09
wendThanks guys :)12:09
badosugrejppi: oh, so this applies specifically for Ardour12:10
badosutheoretically an application can request x samples to be processed on one occasion and y samples on another12:10
grejppibadosu: and jalv, lmms, pretty much everything actually12:11
badosugrejppi: cool, I am not exactly arguing, I am just trying to understand it better12:11
wendI'm new to dsp and am trying to make an equalizer plugin. What do yo think of using FFT to accomplish this?12:11
badosuwend: this might be useful for you https://github.com/LMMS/lmms/pull/1443/files12:14
badosuIn particular the EqEffect and EqFilter files12:14
wendThanks. This EQ uses cascading filters or something like that I think. The theory behind it is way over my head atm so I'm reluctant to pull ideas from these kinds of EQs atm.12:20
wendI'm wondering though if using an FFT is a feasible way to make an EQ.12:21
grejppiwend: it should be possible at least12:21
wendWould it be too heavy on the CPU, doing an FFT every 2014 samples?12:22
wendThen applying relvant gains, and doing a reverse FFT?12:22
grejppiwend: yeah, it could be quite heavy12:33
grejppithat might be one reason why it's more common to use a series of filters12:33
wendThanks man :)12:45
*** ricardocrudo has joined #lv212:55
*** ricardocrudo has quit IRC13:29
*** rncbc has joined #lv214:18
rgareusre ^^ "If I set the buffer size to 1024 in Ardour, n_samples == 1024?"   yes.14:26
rgareusexcept for a few special cases.  If ardour is looping it splits the cycle.   n_samples will be at most 1024 samples, but can be less.14:26
rgareus(end of loop -> process a few samples,    go back, set new parameters that apply to the beginning -> process the rest)14:27
rgareusbut all other plugin hosts that I know don't do that. the [jack] buffersize is what's used for run().14:28
rgareuswend: FFT in realtime, yes you can.  but FFT for an EQ.. that's neither very efficient not appropriate.14:30
rgareuswend: for one thing how do you handle parameter changes smootly?14:30
rgareusdoing frequency warping or 'hand drawn' EQ curves.. sure that's fun .  I'd love if someone would port http://freqtweak.sourceforge.net/ to LV2!14:34
rgareusnote that n_samples can also be zero (!)  - usually done at the very beginning to determine the latency of the plugin.14:40
rgareusall documented at http://lv2plug.in/doc/html/structLV2__Descriptor.html#a1378c3b31f8be8f16892aa4b8f929cda14:40
wendHey rgareus, thanks. How would you recommend implementing an EQ?14:43
rgareuswend: bank of filters. have a look at http://nedko.arnaudov.name/soft/lv2fil/download/lv2fil-2.0.tar.bz2  for example14:44
rgareuswend: also check http://www.musicdsp.org/archive.php?classid=314:46
rgareusthe musicdsp archive is brilliant.14:47
grejppirgareus: freqtweak seems great! why haven't I heard of that before...14:47
rgareusgrejppi: it's an oldie but goodie.14:47
rgareuslast release 11 years ago. still runs :)14:48
* grejppi is now really tempted to port it to lv214:49
rgareusgrejppi: the GUI might be a bit of work..  but since it's gtk.. maybe not too much14:49
wendThanks! :) rgareus, you mentioned that an EQ implemented using FFTs wouldn't be appropriate. By that, do you mean it wouldn't function correctly?14:51
*** rncbc has quit IRC14:51
rgareuswend: it will be very hard to make parameter-changes smooth (clickless) and getting the signal-phase correct is not trivial, either.14:52
wendIf the gain parametres were constant, would it sound ok?14:53
rgareuswend: besides in nearly all cases it's overkill.  unless you want to have  N bands with, say, N > 100  all filter implementations are going to beat it CPU wise.14:53
rgareuswend: sure.14:53
rgareuswend: jamin has a FFT based EQ for example. (though the x-over filters there are not correct, even in flat mode the signal is not identical).14:54
rgareushttp://jamin.sourceforge.net/en/about/scr02.png14:55
rgareusI don't think there's a FFT based LV2 EQ, yet14:55
rgareuscalf maybe?14:55
wendThat's a bug in jamin's FFT code though, correct? Would the FFTW3 library have the same issue?14:56
rgareuswend: yeah it'a long standing bug in jamin.14:56
rgareusnot related to FFTW  at all but implementation in jamin14:56
rgareuswend: sorry to side-track you even further, but when using fftw for audio-plugins there are some caveats: https://github.com/FFTW/fftw3/issues/1614:58
rgareustl;dr  you need to statically link against fftw3 until the issue is resolved..14:58
rgareus..or the plugin-host may crash14:59
wendExactly the issue I'm having right now lol14:59
wendThanks for sharing15:00
rgareuswend: https://github.com/x42/meters.lv2/blob/master/static_fft.sh may help15:00
rgareuscombined with https://github.com/x42/meters.lv2/blob/master/Makefile#L165   # though that part is a bit convoluted15:02
grejppinow that I think of it, isn't the swh multiband equalizer FFT based?15:23
wendrgareus: If I understand correctly, I must statically compile fftw and statically link it against my EQ code?15:23
wendYep, seems to be. He mentions it's CPU intensive also.15:26
*** ricardocrudo has joined #lv215:37
*** rncbc has joined #lv215:48
*** ricardocrudo has quit IRC16:24
*** edogawa_ has joined #lv216:52
*** edogawa has quit IRC16:55
*** falktx has quit IRC17:17
*** falktx has joined #lv217:18
*** rncbc has quit IRC17:38
*** ricardocrudo has joined #lv218:07
*** ricardocrudo_ has joined #lv218:11
*** ricardocrudo has quit IRC18:13
*** Anchakor has joined #lv218:17
drobillaYou definitely can't expect hosts to use a fixed block size.  If you need this, you must require lv2plug.in/ns/ext/buf-size#fixedBlockLength (or one of the other ones, depending on what your actual restriction is)18:18
*** ricardocrudo__ has joined #lv218:34
*** ricardocrudo_ has quit IRC18:35
*** ricardocrudo__ has quit IRC18:48
* drobilla spends entirely too much time trying to get GtkAccelMap to actually work, gives up18:51
*** ricardocrudo__ has joined #lv218:53
*** ricardocrudo_ has joined #lv218:57
*** ricardocrudo__ has quit IRC18:59
*** ricardocrudo_ has quit IRC19:14
*** ricardocrudo_ has joined #lv219:26
wendHi again guys. My reverse FFT with a window of 1024 sounds incredibly distorted. Is this to be expected?19:27
*** ricardocrudo_ has quit IRC19:34
*** ricardocrudo_ has joined #lv219:43
*** ricardocrudo_ has quit IRC20:19
*** ricardocrudo_ has joined #lv220:31
*** ricardocrudo_ has quit IRC21:28
*** ricardocrudo_ has joined #lv221:36
*** ricardocrudo__ has joined #lv221:38
*** rncbc has joined #lv221:40
*** ricardocrudo_ has quit IRC21:40
*** ricardocrudo has joined #lv221:41
*** ricardocrudo__ has quit IRC21:43
*** ricardocrudo_ has joined #lv222:11
*** ricardocrudo has quit IRC22:13
*** ricardocrudo__ has joined #lv222:28
*** ricardocrudo_ has quit IRC22:28
*** ricardocrudo__ has quit IRC22:34
*** ricardocrudo__ has joined #lv222:46
*** falktx has quit IRC23:08
*** rncbc has quit IRC23:31

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