*** ricardocrudo has quit IRC | 01:31 | |
drobilla | I think maybe I give up | 02:31 |
---|---|---|
*** falktx has joined #lv2 | 03:06 | |
ColaEuphoria | Aw :c | 03:50 |
*** NickSB2 has quit IRC | 04:06 | |
drobilla | Well, you can read this terrible thing if you like :) | 04:13 |
drobilla | It was probably unwise to wait until the very last day to start *and* stay up all night the night before | 04:14 |
* drobilla submits 4 pages of half written nonsense anyway | 05:50 | |
drobilla | Go team. | 05:50 |
Anchakor | that's how I do everything :) | 07:26 |
*** falktx has quit IRC | 07:55 | |
*** falktx has joined #lv2 | 08:02 | |
*** falktx_ has joined #lv2 | 08:13 | |
*** Anchakor_ has quit IRC | 08:14 | |
*** Anchakor_ has joined #lv2 | 08:14 | |
*** falktx has quit IRC | 08:16 | |
*** edogawa has joined #lv2 | 09:07 | |
*** NickSB2 has joined #lv2 | 09:28 | |
*** ddom has joined #lv2 | 10:16 | |
*** ricardocrudo has joined #lv2 | 11:39 | |
*** falktx_ has quit IRC | 11:55 | |
*** HarryHaaren has joined #lv2 | 12:00 | |
*** falktx_ has joined #lv2 | 12:16 | |
*** ricardocrudo_ has joined #lv2 | 13:35 | |
*** ricardocrudo has quit IRC | 13:35 | |
*** falktx_ has quit IRC | 13:59 | |
*** NickSB2 has quit IRC | 14:08 | |
*** falktx_ has joined #lv2 | 14:17 | |
*** falktx_ has quit IRC | 15:30 | |
*** edogawa_ has joined #lv2 | 15:37 | |
*** edogawa has quit IRC | 15:40 | |
*** edogawa_ is now known as edogawa | 15:45 | |
*** ddom has quit IRC | 15:57 | |
*** gabrbedd has joined #lv2 | 16:40 | |
*** rncbc has joined #lv2 | 17:39 | |
*** falktx_ has joined #lv2 | 17:46 | |
*** ricardocrudo_ has quit IRC | 18:12 | |
*** rncbc has joined #lv2 | 18:14 | |
*** mlpug has joined #lv2 | 18:34 | |
*** rncbc has quit IRC | 18:53 | |
*** ricardocrudo_ has joined #lv2 | 18:54 | |
*** rncbc has joined #lv2 | 18:58 | |
*** bazz has quit IRC | 19:04 | |
*** bazz has joined #lv2 | 19:07 | |
*** rncbc has quit IRC | 19:20 | |
* drobilla wakes up considerably more sane | 19:20 | |
drobilla | Right then, where's that withdraw submission button | 19:20 |
*** ricardocrudo_ has quit IRC | 19:28 | |
*** rncbc has joined #lv2 | 19:42 | |
bgola | drobilla: are you submitting a paper to LAC ? | 19:45 |
drobilla | bgola: uhm, well...... | 19:45 |
drobilla | bgola: I was attempting to do so for Ingen but I didn't get it done in time | 19:45 |
drobilla | bgola: I submitted a half written garbage draft anyway | 19:46 |
drobilla | I don't know what to do about this situation, buuuuuuut that's what I've done, anyway | 19:46 |
bgola | drobilla: ah, probably good enough :p | 19:46 |
bgola | btw, about ingen + mod stuff, it is working (port connections, setting port value, presets, bypass, all the basics) | 19:49 |
bgola | did you get my email with the patch and my question about how to handle the client notification ? | 19:49 |
bgola | on that, i need to understand this client notification thing so mod-ui can be notified when a port value is changed | 19:50 |
drobilla | bgola: Cool. I did not get your email, no | 19:51 |
drobilla | bgola: I have been working towards server side load/save, but not there yet | 19:51 |
drobilla | Did server side copy paste with LV2 state support, which is kinda related. | 19:51 |
bgola | drobilla: hm, do you still use d@drobilla.net ? | 19:52 |
drobilla | Added a patch:Copy method which is what will be used. Copy to/from filesystem path = save/load | 19:52 |
drobilla | bgola: yep | 19:53 |
bgola | drobilla: weird.. will send it again, sent it 5 days ago | 19:54 |
drobilla | I could have missed it, but looking now, don't see anything. Maybe my mysterious spam filter got it for some reason | 19:57 |
bgola | drobilla: fwd'd it now, from brunogola@gmail.cm | 19:58 |
*** ricardocrudo_ has joined #lv2 | 19:58 | |
bgola | com* | 19:58 |
drobilla | bgola: Got it. | 19:59 |
drobilla | bgola: Looks like this done a ton of not real-time safe stuff in the audio thread. | 20:03 |
drobilla | bgola: Can't do that | 20:03 |
bgola | hm, you mean the LV2Block stuff ? | 20:04 |
drobilla | Yes. Called from Delta::execute() | 20:05 |
drobilla | Part of that is easy to fix, load the preset in pre_process() and keep it around and only apply it in execute() (being the general way all events work in Ingen) | 20:06 |
bgola | drobilla: ah ok, makes sense | 20:06 |
drobilla | I forget if applying state can happen while rolling at all, though, need to check the spec | 20:06 |
drobilla | This function is in the "Instantiation" threading class as defined by | 20:07 |
drobilla | LV2. This means it MUST NOT be called concurrently with any other | 20:07 |
drobilla | function on the same plugin instance. | 20:07 |
drobilla | It's ambiguous about realtimeyness, though. Should fix that. Example clearly isn't, though | 20:08 |
drobilla | ............. that might make this the first thing that's not doable in a single 3-phase event. That's no fun at all | 20:08 |
drobilla | Should've added a garbage sink parameter to restore() for click-free preset changing | 20:11 |
drobilla | Maybe a bit of a burden on plugins, though | 20:11 |
drobilla | bgola: I'll have to think about it. You chose a particularly hard task :) | 20:14 |
drobilla | bgola: Thanks though. Good start. | 20:14 |
bgola | drobilla: haha, ok,, in the meantime, is it possible for a client using the REST API to get notifications? | 20:15 |
drobilla | save() can be called while rolling, though, so that part is at least easy | 20:18 |
drobilla | bgola: If you're connected to the socket, it'll stream you notifications | 20:18 |
*** HarryHaaren has quit IRC | 20:19 | |
bgola | drobilla: let me check that | 20:20 |
drobilla | I should write a little ingen_dump.py that just sits on it and dumps out notificatons to the console | 20:21 |
bgola | drobilla: i can do that | 20:23 |
bgola | (basically what im doing now to test it ) | 20:23 |
drobilla | There should probably be a way to explicitly ask for the stream, but at the moment I think you just get it regardless | 20:25 |
drobilla | Once upon a time I had HTTP in there so you could just point a browser at it. That was neat... | 20:30 |
bgola | drobilla: so, i have a socket connected to ingen printing everything it recv()s, ingen prints "registering client ..." when it connects, then I connect with ingen_cli, add a plugin and set a port value | 20:31 |
bgola | apparently nothing happens on the other socket | 20:31 |
bgola | drobilla: btw, when I connect with two clients (ingen_cli and ingen -g for example), sometimes the socket get a weird behavior. I send() something to ingen, it does whatever is needed but dont send any response to the socket | 20:33 |
*** mlpug has quit IRC | 20:33 | |
*** falktx_ has quit IRC | 20:34 | |
bgola | drobilla: hm, if I connect the dump socket after adding the plugin using ingen_cli then ingen_dump gets the notification | 20:36 |
bgola | but ingen_cli blocks waiting for a response | 20:36 |
* drobilla runs two GUI clients | 20:36 | |
drobilla | hm, you're right. the first gets updated with changes from the second, but not the other way around | 20:36 |
drobilla | (refresh will show everything) | 20:37 |
drobilla | oh, right, netcat can do the dump | 20:39 |
drobilla | bgola: You using TCP or UNIX? | 20:40 |
bgola | UNIX | 20:41 |
bgola | drobilla: ^ | 20:41 |
drobilla | hmmmmmm... because multiple clients have the same URI, so it ends up replacing it in the engine's map of them | 20:41 |
drobilla | e.g. add a second netcat and only it receives stuff | 20:42 |
bgola | drobilla: do you think it is easy to fix that? | 20:44 |
drobilla | yep | 20:44 |
drobilla | I am just thinking about what they key should be, or if there should be any | 20:45 |
bgola | hm ok | 20:45 |
drobilla | UNIX socket always has the same address, so you can have multiple listeners with the same URI | 20:45 |
drobilla | sooooooo just invent one, I guess | 20:45 |
drobilla | or just keep a set of objects around. They might dangle... | 20:45 |
* drobilla doesn't know how he didn't think of using netcat for this earlier. Super handy | 20:45 | |
* drobilla idly wonders if UNIX sockets can even do this | 20:47 | |
drobilla | I mean, if one client reads it, it's read... | 20:47 |
bgola | drobilla: found this https://stackoverflow.com/questions/9644251/how-do-unix-domain-sockets-differentiate-between-multiple-clients | 20:50 |
bgola | makes sense (?) | 20:50 |
drobilla | yep | 20:51 |
drobilla | I wonder if that file descriptor actually has a path I can get... | 20:51 |
bgola | drobilla: i think when you accept() it returns the fd for that connection | 20:56 |
bgola | then using the fd you can get a path | 20:57 |
drobilla | There are functions for getting the address, looking in to it | 20:59 |
drobilla | Might not need a path/URI at all, just kind of idly curious | 20:59 |
bgola | yep, i believe the fd is enough as a key | 21:00 |
drobilla | Yeah. I'm just worried that there's a "client address" flying around that's just straight up wrong | 21:01 |
*** HarryHaaren has joined #lv2 | 21:04 | |
bgola | drobilla: you mean the addr when initializing a Raul::Socket ? | 21:06 |
drobilla | bgola: Yeah, the one on the socket returned from Raul::Socket::accept() | 21:07 |
drobilla | note to self: figure out why socket are being leaked | 21:07 |
bgola | drobilla: maybe get the fd file path using readlink(/proc/pid/fd/...) ? | 21:09 |
drobilla | bgola: Not portable even among unices, and needs to work for TCP anyway | 21:10 |
bgola | drobilla: yeah, i dont like that because of portability. but I can't find a portable way to find the file path anyway | 21:13 |
*** NickSB2 has joined #lv2 | 21:14 | |
drobilla | It's find. I'm just not getting the client socket address correctly | 21:14 |
drobilla | fine* | 21:14 |
drobilla | Fixed it for TCP, but still doesn't work for UNIX | 21:16 |
drobilla | There's no port number, just gives you the same path | 21:17 |
drobilla | Alriht, well, good to have fixed that bug anyway | 21:19 |
drobilla | But I guess I'll try making Ingen not care | 21:19 |
bgola | drobilla: i tried with python to see what it returns as client address | 21:21 |
bgola | connection, client_address = sock.accept() | 21:22 |
bgola | client_address is '' | 21:22 |
drobilla | yeah, apparently impossible. The fd has no FS node at all, probably | 21:22 |
bgola | drobilla: yep... | 21:23 |
bgola | gotta go, be back tomorrow | 21:23 |
HarryHaaren | is the question if a file-descriptor has a node in the file-system? | 21:24 |
HarryHaaren | /proc/<pid>/fd/<number> ? | 21:25 |
drobilla | bgola: Fixed. Positions don't seem to get updated across clients for some reason, but other stuff does | 21:37 |
drobilla | HarryHaaren: Address for a socket. In the case of accepted UNIX socket connections, seems there isn't one. | 21:38 |
HarryHaaren | ah ok - i was jumping the gun a bit there so :) | 21:39 |
*** ricardocrudo_ has quit IRC | 21:42 | |
*** rncbc is now known as rncbc|AFK | 22:08 | |
*** rncbc|AFK has quit IRC | 22:09 | |
bgola | drobilla: nice, it works :) | 22:34 |
drobilla | bgola: Yeah, seems find except for that moving modules bit. Maybe patch:Patch isn't working in the client for some reason... | 22:46 |
drobilla | bgola: How are you / do you plan to hook browser stuff up to this anyway? | 22:47 |
* drobilla wishes RDF could fit in JSON decently | 22:53 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!