*** yann-kaelig has quit IRC | 00:09 | |
*** edogawa has joined #lv2 | 06:29 | |
*** edogawa_ has joined #lv2 | 06:29 | |
*** edogawa_ has quit IRC | 07:00 | |
*** ricardocrudo__ has joined #lv2 | 07:53 | |
*** sigma6 has joined #lv2 | 07:58 | |
*** edogawa has quit IRC | 08:11 | |
*** ricardocrudo__ has quit IRC | 08:24 | |
*** ricardocrudo has joined #lv2 | 08:25 | |
*** NickSB2 has joined #lv2 | 08:39 | |
*** falktx has joined #lv2 | 08:53 | |
*** edogawa has joined #lv2 | 09:05 | |
*** john_cephalopoda has joined #lv2 | 09:25 | |
*** john_cephalopoda has quit IRC | 10:35 | |
*** NickSB2 has quit IRC | 10:40 | |
falktx | what happens if I put port values as hexadecimal? ie, "lv2:default 0x1" | 11:27 |
---|---|---|
*** rncbc_jolla has joined #lv2 | 11:35 | |
*** ventosus has joined #lv2 | 11:43 | |
rgareus | rncbc_jolla: thanks for merging the qjackctl advanced setup! | 11:50 |
rgareus | as las put it: A new day dawns | 11:50 |
rncbc_jolla | rgareus: a new decade perhaps;) | 11:51 |
rgareus | rncbc_jolla: I was maybe a bit fast. thinking it over, the "Port Maxiumum" shoud be on the normal settings page. | 11:52 |
rgareus | rncbc_jolla: and the layout is a bit odd. two half-filled pages (Settings, Advanced) | 11:53 |
rgareus | rncbc_jolla: do you have any opinion about that? | 11:54 |
rncbc_jolla | rgareus: yep maybe i was already makingsome moves | 11:55 |
rncbc_jolla | rgareus: reordering some fields and set bold some labels | 11:56 |
rgareus | aah the "Do not touch..." part is no longer bold :) | 11:56 |
rncbc_jolla | but yours is one step up | 11:57 |
rncbc_jolla | i dont like html of it :) | 11:58 |
rgareus | rncbc_jolla: it's nice that one can just cut/paste stuff around in designer-qt. no code changes needed | 11:58 |
rgareus | not very #LV2ey, probably more #LADdy | 11:59 |
rncbc_jolla | but my moves were done earlier | 12:00 |
rncbc_jolla | nm. | 12:01 |
rncbc_jolla | of course now the can is open | 12:02 |
rgareus | ? | 12:02 |
rgareus | rncbc_jolla: if you move "Port Max" back to the "Settings" tab. and "Server Name" to the right colum. we can make a nice 3x6 grid. | 12:02 |
rncbc_jolla | try it | 12:04 |
rgareus | rncbc_jolla: related, what triggers the sensitivity of "Ignore H/W" , "Word Length", "Wait (usec)" and "Channes" they're always grayed out here | 12:05 |
rgareus | s/Channes/Channels/ | 12:06 |
rncbc_jolla | porta | 12:07 |
rncbc_jolla | portaudio | 12:07 |
rgareus | aah. Windows | 12:07 |
rgareus | rncbc_jolla: BTW, do you know if JackPilot (OSX) was deprecated recently and jackOSX now uses qjackctl? | 12:08 |
rncbc_jolla | dunno ask sletz | 12:08 |
rgareus | some user got qjackctl on OSX and it defaulted to "ALSA" :) https://github.com/jackaudio/jack2/issues/126 | 12:09 |
rgareus | and -Xcoremidi is not an option, either it seems. | 12:10 |
* rgareus suspects it's a PEBKAC though. probably qjackctl from homebrew or something | 12:11 | |
rncbc_jolla | it always default to alsa . hardcoded | 12:11 |
rgareus | the image on that issue says qjackctl 0.3.6 from 2010 anyway. no idea what that guy is doing. It can't be sletz | 12:12 |
rncbc_jolla | qjc should also migrate to use jackctl api | 12:12 |
rncbc_jolla | maybe next decade | 12:13 |
rncbc_jolla | :) | 12:13 |
rncbc_jolla | g2g | 12:16 |
*** rncbc_jolla has quit IRC | 12:16 | |
rgareus | while jack1 has a control-api it is not exposed, yet | 12:16 |
rgareus | mmh too late | 12:16 |
*** yann-kaelig has joined #lv2 | 13:24 | |
*** yann-kaelig has quit IRC | 13:30 | |
*** yann-kaelig has joined #lv2 | 13:32 | |
falktx | rgareus: I have been doing a tool to check plugins for errors, your plugins have a small issue | 14:14 |
falktx | rgareus: the port values that you set as integer have the value as float | 14:14 |
rgareus | falktx: nice. can you elaborate on te problem? | 14:14 |
falktx | ie, lv2:minimum 1.0 | 14:14 |
falktx | it should be lv2:minimum 1 | 14:15 |
falktx | rgareus: besides that and missing version, there's nothing else I think | 14:16 |
falktx | here's the full report: http://kxstudio.sourceforge.net/Paste/repo/8Zt3p | 14:16 |
rgareus | falktx: ok. that's really a nitpick. | 14:16 |
falktx | I know :P | 14:17 |
falktx | but this is commercial stuff. nitpicking is necessary :) | 14:17 |
falktx | rgareus: ah, I see a real error in 'http://gareus.org/oss/lv2/midifilter#midistrum' | 14:17 |
rgareus | falktx: the value is a float since it's a control-port | 14:17 |
falktx | port scalepoint 'Up/Down 8th' has an out-of-bounds value: '0 < 4 < 3' | 14:17 |
falktx | lv2:maximum 3.0, lv2:scalePoint [ rdfs:label "Up/Down 8th" ; rdf:value 4.0 ] | 14:19 |
falktx | rgareus: well, I know. but this is to catch some devs putting integer property by mistake | 14:20 |
falktx | I noticed some mda plugins have integer property but their values are always float (0.0 - 1.0 range) | 14:20 |
rgareus | falktx: thanks, fixed. | 14:21 |
rgareus | falktx: integer vs value is float. I dunno, man. When querying the value I do get a float. both in the host as well as plugin | 14:22 |
rgareus | besides 1.0 is a double; 1.f woul be a float :) | 14:23 |
falktx | rgareus: btw 'http://gareus.org/oss/lv2/midifilter#channelmap' has the same issues | 14:23 |
falktx | all your scalepoints for that plugin have +1 value than max | 14:23 |
rgareus | falktx: how hard is it to expand the check to catch fractions? having 1.5 on a integer port would be an error | 14:24 |
falktx | rgareus: yeah, but without this there would be no way to detect the misusage like in the mda case | 14:24 |
rgareus | 1.0 or 2.0 I suggest a warning | 14:24 |
falktx | I can make it a warning I guess | 14:24 |
falktx | but that would be for 1.0 or 2.0 values | 14:25 |
falktx | if the port is integer and has value 1.5, that will be an error | 14:25 |
rgareus | fmod (val, 1.0) != 0; | 14:25 |
falktx | this is python | 14:27 |
rgareus | falktx: great that you're doing this! | 14:28 |
rgareus | I've added version-info to all my plugins last week so that part should be good with the next release | 14:28 |
rgareus | falktx: I probably won't go thoug all scale-points. I was hoping to release a new version today. | 14:29 |
rgareus | mmh more out-of-bounds | 14:30 |
falktx | well, out of bounds scalepoints are errors | 14:32 |
falktx | please fix them before release | 14:32 |
rgareus | yes, those are fixed already | 14:38 |
rgareus | falktx: and now the ".0" is also gone on midifilters | 14:43 |
falktx | nice | 14:45 |
falktx | rgareus: if you do a new test source tarball I'll re-run the tests for you | 14:45 |
rgareus | falktx: does the "download zip" button on https://github.com/x42/midifilter.lv2 count ? | 14:47 |
rgareus | falktx: the midifilters don't have any dependencies (except LV2-dev). | 14:48 |
falktx | rgareus: I don't package that single. I need the full x42-plugins | 14:48 |
rgareus | k | 14:48 |
rgareus | falktx: do you need a full package? or can the tool run on a .ttl file alone? | 14:48 |
falktx | the tool verify if the binary is there | 14:49 |
falktx | *fies | 14:49 |
falktx | it also verifies presets :) | 14:49 |
falktx | rgareus: you have no idea the amount of errors this finds | 14:51 |
falktx | broken port properties, bounds, missing presets... | 14:52 |
falktx | I mean, you have no idea the amount of errors present in released plugins | 14:52 |
falktx | hmm, I can check if symbols are duplicated. and names | 14:55 |
rgareus | falktx: is the tool already published? | 14:59 |
falktx | yes | 15:00 |
falktx | let me finish these changes and I'll post the link | 15:00 |
rgareus | falktx: take your time. I won't get to look into this before this evening anyway | 15:00 |
falktx | rgareus: there will be some mod specific warnings in there | 15:09 |
falktx | rgareus: we need some short names for plugin name, author and port names. this is not mandatory by lv2, but it's a should-have for getting better mod experience | 15:10 |
rgareus | falktx: p8r recently reported an issues. jack1 apparently has a 31char limit for port-names. | 15:11 |
rgareus | falktx: or client-name. | 15:12 |
falktx | rgareus: yes, I know | 15:12 |
falktx | jack2 limit is 255 | 15:12 |
rgareus | jalv takes the plugin-name as client-name.. jack2 has no issues with that | 15:12 |
falktx | maybe I'm wrong, but... I think... | 15:13 |
falktx | jack1 can register a client with more than 31 chars | 15:13 |
falktx | but can't register a port with more than 33 | 15:13 |
falktx | ie, register as it doesn't fail. | 15:13 |
falktx | rgareus: short port names sounds like something jalv could use. instead of the current symbol which doesn't look nice | 15:14 |
rgareus | I agree that names should be short[er]. Some of my plugins have/had too long names. | 15:15 |
falktx | lv2:name has no restrictions | 15:15 |
falktx | I'm using doap:shortname property | 15:15 |
rgareus | but really jack1's 33 char restriction is tight. | 15:16 |
falktx | rgareus: https://github.com/portalmod/mod-sdk/blob/master/modsdk/lilvlib.py | 15:18 |
falktx | no documentation, just read the code :) | 15:20 |
rgareus | # Cut generic names is radical. wow | 15:22 |
falktx | I copied that code from carla | 15:22 |
* rgareus prefers concise names | 15:22 | |
falktx | rgareus: it's a fallback mechanism. only when plugins are missing info | 15:22 |
falktx | we'll be patching plugins for doap:shortname soon | 15:23 |
falktx | that function is waaaay too much for what mod needs, but meh will work in the mean time | 15:25 |
*** rncbc has joined #lv2 | 15:25 | |
*** ricardocrudo has quit IRC | 16:39 | |
*** sigma6 has quit IRC | 16:42 | |
*** ricardocrudo has joined #lv2 | 16:47 | |
ssj71 | falktx: I like verbose names, but I also like the idea of a shortname. One of the biggest complaints with original rakarrack was the terse labeling. FB. LRCr. ES. etc. etc. | 16:54 |
ssj71 | my ports probably err on the other side of the spectrum though | 16:55 |
ssj71 | falktx: is your script equvalent to sord_validate? I've never had good luck with getting usable output | 16:57 |
ssj71 | your scripts output is great | 16:58 |
falktx | ssj71: no, it does not validate rdf data | 16:59 |
ssj71 | ok. I'll have to keep trying to figure out sord_validate | 16:59 |
falktx | you need a clone of the lv2 source | 17:00 |
ssj71 | not just lv2-dev? | 17:01 |
ssj71 | falktx: do you have a fully passing plugin bundle I can use for an example? I thought I had doap:description right but I still am getting errors | 17:03 |
rgareus | ssj71: did you see http://lv2plug.in/pages/validating-lv2-data.html ? | 17:08 |
falktx | ssj71: it's not doap:description I think | 17:08 |
ssj71 | falktx: thats what Harry used. I just copied his. You want rdf:comment | 17:09 |
ssj71 | rgareus: I tried it. It could be as falk suggested I need lv2 from git, not just lv2-dev package | 17:10 |
falktx | ssj71: actually it's rdfs:comment | 17:10 |
falktx | ssj71: you're running sord-validate wrong | 17:10 |
rgareus | indeed, you need all the .ttl files, lv2-git is an easy way. | 17:10 |
falktx | it needs the path to all folders containing ttls | 17:11 |
falktx | lv2-dev doesn't have those files | 17:11 |
ssj71 | ah there it is | 17:11 |
ssj71 | that was my issue. I'll be sure to do it correctly before another release | 17:12 |
ssj71 | rkrlv2 is about 3 ports away from completion | 17:12 |
ssj71 | but the question is how much testing before an announcement :\ | 17:12 |
rgareus | ssj71: announce a -rc ?! | 17:14 |
ssj71 | thats what I should do. I was hoping more people would test as I went along. maybe an rc will generate more interest | 17:17 |
ssj71 | time will tell :) | 17:17 |
rgareus | ssj71: I think it's a user-base issues. guitarits vs people who build from source. not much overlap | 17:21 |
ssj71 | I'll just get falktx to package a git version for me :) | 17:22 |
ssj71 | falktx: FWIW I think doap:description makes more sense than rdfs:comment | 17:23 |
ssj71 | https://github.com/harryhaaren/openAV-ArtyFX/blob/master/artyfx.lv2/kuiza.ttl#L37 | 17:24 |
falktx | ssj71: ah yes, but those are 2 different things | 17:26 |
falktx | doap:description is more of a subtitle | 17:26 |
falktx | what we want for mod is a complete description | 17:26 |
falktx | ie, a comment | 17:26 |
ssj71 | "Plain text description of a project, of 2-4 sentences in length" | 17:27 |
falktx | I was going for lv2:documentation at first, but most plugins already use rdfs:comment | 17:27 |
ssj71 | :) sorry I don't know why I'm being so argumentative | 17:27 |
falktx | ssj71: perhaps I can require both :) | 17:27 |
falktx | description *and* comment | 17:27 |
ssj71 | I'll add rdfs:comment. Status-quo and all | 17:28 |
falktx | rakarrack seems like the right kind of fx toolset for guitarists and mod | 17:29 |
*** ricardocrudo has quit IRC | 17:35 | |
rgareus | falktx: according to drobilla, lv2:documentation is for creating documentation of LV2 specs itself, not for plugins | 17:40 |
*** flexus has joined #lv2 | 17:50 | |
falktx | ok, perfect then | 18:11 |
edogawa | ardour.org | 18:18 |
edogawa | oh man, sorry | 18:18 |
* edogawa alwys confused by 2 keyboards | 18:19 | |
*** john_cephalopoda has joined #lv2 | 18:22 | |
john_cephalopoda | hi | 18:23 |
falktx | hi | 18:35 |
ssj71 | falktx: I hope rkr-lv2 will be popular. I will use some modules, but I hope the community uses all of them | 18:36 |
ssj71 | I think mod will be a big source of users. I hope | 18:36 |
ventosus | feature or bug? if I state:save a LV2_ATOM__URI, state:restore returns a LV2_ATOM__URID | 18:39 |
falktx | which unmaps to LV2_ATOM__URI right? | 18:42 |
ventosus | falktx: yes, unmapping does the trick | 18:44 |
ventosus | I just thought somehow that the type would be preserved... | 18:45 |
falktx | and it is | 18:45 |
falktx | everything in lv2 is mapped to an urid | 18:45 |
falktx | you always do stuff in urids | 18:45 |
*** tytel has joined #lv2 | 18:47 | |
ventosus | falktx: thanks, got it: URI and URID are stored in the same format in state.ttl | 18:57 |
*** ricardocrudo has joined #lv2 | 19:00 | |
*** ventosus has left #lv2 | 19:01 | |
*** tytel has quit IRC | 19:12 | |
john_cephalopoda | Hmm, I got some problem with lv2. Every second, it clicks. | 19:30 |
john_cephalopoda | Here's the code: https://bpaste.net/show/7dc6ab7d9aba | 19:33 |
ssj71 | just call it a metronome feature :) | 19:35 |
john_cephalopoda | :D | 19:36 |
john_cephalopoda | The frequencies are the right ones, only that click every second is weird | 19:37 |
ssj71 | falktx: your script should give a warning if the name is over X characters and has no shortname | 19:37 |
falktx | ssj71: doesn't it? | 19:38 |
ssj71 | IDK :p I was just thinking about it | 19:38 |
ssj71 | sorry | 19:38 |
ssj71 | falktx: do you have an example plug that passes the script? | 19:39 |
ssj71 | john_cephalopoda: your problem is you are resetting current sample every second | 19:40 |
ssj71 | thats not going to be at the end of a wavecycle, rather each second | 19:40 |
ssj71 | john_cephalopoda: ln 92 of paste | 19:41 |
falktx | ssj71: not yet. I'm working through the mod plugins first to make them work 100%. then I'll move to patching other people's projects | 19:41 |
john_cephalopoda | ssj71: I think it also does that click without that. | 19:42 |
ssj71 | are any of the mod ones pasing? I've looked at mod-pitchshifters and mod-distortions and they don't have everything. just give me a ping please when you have one :D | 19:42 |
john_cephalopoda | Oh, it actually works now. | 19:43 |
ssj71 | john_cephalopoda: with arbitrary frequencies you can't have a single counter I think | 19:44 |
ssj71 | when it overflows it will still click | 19:44 |
john_cephalopoda | Yeah. | 19:44 |
john_cephalopoda | Hmm. | 19:44 |
ssj71 | unless it happens to be an integer multiple of freq/48000 | 19:44 |
john_cephalopoda | Thanks for the tip. | 19:44 |
ssj71 | np | 19:47 |
john_cephalopoda | Hmm, how can I reset the counters without getting the click? Even when I use one individual counter for every osc, I get a click when I reset the counters. | 19:50 |
ssj71 | you need to reset it such that the input to sin is always equivalent output so if freq*2*3.14159265*curr)/48000) > 2*pi then subtract 2*pi out | 19:54 |
ssj71 | its a bit difficult with an integer counter. I'd probably approach it with foat counters and add in freq/sample_rate each step | 19:55 |
ssj71 | then when counter > 2*pi; counter -=2*pi | 19:56 |
ssj71 | there are many mathematically equivalent approaches | 19:56 |
john_cephalopoda | But after 48000 samples I'll have exactly sin(freq*2*3.14159265*48000/48000), which is sin(freq*2*pi). Freq is an integer value. | 19:57 |
john_cephalopoda | Or wait... | 19:57 |
john_cephalopoda | Freq is a float. | 19:57 |
john_cephalopoda | That's the reason. | 19:57 |
john_cephalopoda | When I divide by ints, I always get full multiples. But with floats, it will destroy my calculations. | 19:58 |
ssj71 | sin(freq*2*pi*1) != (freq*2*pi*0) | 19:59 |
ssj71 | oops forgot sin on RHS | 19:59 |
john_cephalopoda | When freq is an int, it would work. | 19:59 |
ssj71 | john_cephalopoda: yes | 20:00 |
john_cephalopoda | But it would reduce resolution a lot, especially in the LFO. | 20:00 |
ssj71 | also when you change freq it will move your counter | 20:00 |
ssj71 | it will cause clicks each time you move freq param | 20:01 |
ssj71 | the float counter is nice for that | 20:03 |
john_cephalopoda | Phew, complicated. | 20:07 |
john_cephalopoda | And I haven't even got midi yet, only two frequency knobs :D | 20:07 |
*** Anchakor_ has joined #lv2 | 20:13 | |
ssj71 | :) there are lots of good examples you can study. http://musicdsp.org/ helped me learn some common practices | 20:15 |
john_cephalopoda | Thanks | 20:20 |
john_cephalopoda | Synths are really interesting. There can be so much done. With the right algorithms everything is possible :) | 20:20 |
grejppi | john_cephalopoda: why would it destroy your calculations? | 20:38 |
john_cephalopoda | grejppi: I calculate the current output with "sin((freq*2*3.14159265*curr)/48000)". | 20:39 |
john_cephalopoda | That means, when I got one period, I am at sin(freq*2*pi). | 20:40 |
john_cephalopoda | After that, I reset everything to zero because if freq is integer, the sin will be always 0 (since multiples of 2*pi) | 20:41 |
*** tytel has joined #lv2 | 20:41 | |
john_cephalopoda | When I use floats though, I will get a sin(something), where something is not a multiple of 2 pi, so I get a jump in my signal and an audible click. | 20:41 |
john_cephalopoda | That means, I have to reset as soon as the output signal is reasonable close to 0. | 20:42 |
*** tytel has quit IRC | 20:46 | |
grejppi | john_cephalopoda: there are many other ways though | 20:48 |
grejppi | let's say the sample rate is 48000 | 20:49 |
grejppi | you have a floating point counter instead of an integer | 20:49 |
grejppi | every time the counter is equal to greater than 48000 you subtract that from it | 20:50 |
grejppi | if (counter >= rate) counter -= rate; | 20:50 |
ssj71 | falktx: how explicit should description be? do I really need to explain a phaser? | 20:51 |
falktx | ssj71: 1 or 2 lines comment | 20:51 |
falktx | ssj71: the more the better. but doesn't have to be fancy | 20:52 |
john_cephalopoda | grejppi: The counter is actually a float. | 20:53 |
grejppi | john_cephalopoda: then why are you using only integer values? | 20:54 |
john_cephalopoda | I didn't think I'd need that because I thought that frequencies are ints | 21:01 |
john_cephalopoda | Also, when I got frequencies under 1 Hz, I got problems. | 21:02 |
john_cephalopoda | After one second, I will be at pi/2, so at 1. When I go back to a counter value where it works, it would have to be negative. | 21:03 |
grejppi | john_cephalopoda: that doesn't matter | 21:04 |
john_cephalopoda | I'd have to go back 3/4 of a period. After 1/4 of a period (1 second), I'd be at -pi/2, last one before that would be one period back. | 21:06 |
john_cephalopoda | Or whatever. My sketch looks a bit werid. But it looks pretty much like I will get more and more negative values. | 21:07 |
john_cephalopoda | Oh, so I just let it run til 48000... | 21:07 |
grejppi | john_cephalopoda: I tend to do something like this in my synths nowadays: https://gist.github.com/grejppi/d326f90d3222b6b37dfe | 21:08 |
rgareus | grejppi: curious. what benefit does that have compared to just counting samples at SR? | 22:01 |
rgareus | grejppi: no need for a modulo if the compiler properly maps uint32_t ? | 22:02 |
rgareus | then again, there are 3 divisions, one lrintf and two multiplications in the inner-loop. I'll take the modulo :) | 22:04 |
*** ricardocrudo has quit IRC | 22:05 | |
grejppi | rgareus: sure, this could be optimized a lot. but the idea is to let integer overflow do what the modulo would do | 22:12 |
grejppi | I think this technique was mentioned by wrl sometime on #lad | 22:14 |
john_cephalopoda | Letting ints overflow is ugly. It is undefined behaviour iirc. So on some compilers it could go wrong. | 22:17 |
rgareus | & 0xffffffff | 22:22 |
grejppi | isn't uint32_t guaranteed to be 32 bits anyway? | 22:22 |
rgareus | depends on the platform and compiler | 22:23 |
john_cephalopoda | & 0xffffffff would not change anything. | 22:23 |
rgareus | well I was rather thinking of oddities in the float mantissa when dividing by (2^31 -1) | 22:24 |
john_cephalopoda | I think uint32_t should be 32 bit. But the overflow behaviour isn't defined in the C standard iirc. So compilers can do what is easiest. Most just get negative because it is easy. But probably other compilers do other things. | 22:24 |
grejppi | unsigned won't go negative | 22:24 |
john_cephalopoda | I once wrote some code that gets a binary float and prints it: https://cs.au.dk/~sortie/str2.cpp | 22:24 |
grejppi | it just wraps back to zero | 22:25 |
john_cephalopoda | (not my website) | 22:25 |
john_cephalopoda | grejppi: Right, uint won't. Probably. You never know what the compiler maker thought when writing that part. | 22:25 |
john_cephalopoda | Well, it will not get negative in any case. | 22:26 |
john_cephalopoda | But it might not go to 0. | 22:26 |
rgareus | john_cephalopoda: pork? can't you beef this up a bit :) | 22:26 |
grejppi | where else? | 22:26 |
john_cephalopoda | rgareus: But... PORK! | 22:26 |
john_cephalopoda | rgareus: Also "//TODO: Nothing, the code is perfect." | 22:27 |
john_cephalopoda | Balanced ternary is a really interesting number system. | 22:32 |
*** yann-kaelig has quit IRC | 22:33 | |
ssj71 | falktx: you should be asleep :) | 22:50 |
ssj71 | falktx: to run your script should just be "python3 lilvlib.py /usr/lib/lv2/rkrlv2.lv2" right? | 22:51 |
*** edogawa has quit IRC | 23:07 | |
falktx | ssj71: yes | 23:24 |
falktx | ssj71: and I should be sleeping yes. the new release of portal2:mel got me curious | 23:27 |
falktx | game mod that's actually a full new game. and man that thing is hard | 23:27 |
falktx | k, cya later | 23:28 |
*** falktx has quit IRC | 23:28 | |
*** john_cephalopoda has quit IRC | 23:33 | |
*** rncbc has quit IRC | 23:36 | |
*** flexus has quit IRC | 23:55 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!