| Fallenou | gn8 | 00:46 |
|---|---|---|
| kristianpaul | n8 | 00:48 |
| kristianpaul | stekern: the only part you replaced from the upstream SoC was the lm32? | 00:55 |
| kristianpaul | what about conbus? | 00:56 |
| GitHub171 | [flickernoise] wpwrak created direct-midi (+12 new commits): http://git.io/rFAXug | 01:24 |
| GitHub171 | [flickernoise/direct-midi] renderer/stimuli.c: unified control input handling - Werner Almesberger | 01:24 |
| GitHub171 | [flickernoise/direct-midi] compiler.h: wrap nasty long lines - Werner Almesberger | 01:24 |
| GitHub171 | [flickernoise/direct-midi] compiler: include basic elements for unified input events in patch structure - Werner Almesberger | 01:24 |
| stekern | kristianpaul: yes, only replaced lm32 | 03:20 |
| kristianpaul | stekern: no other "to replace" plans? | 03:25 |
| stekern | naw, no such plans | 03:30 |
| GitHub136 | [flickernoise] wpwrak pushed 2 new commits to direct-midi: http://git.io/HVh90A | 03:38 |
| GitHub136 | [flickernoise/direct-midi] compiler: update pointers after realloc() in patch_add_cvar - Werner Almesberger | 03:38 |
| GitHub136 | [flickernoise/direct-midi] midi control: added processors for encoders sending acceleration - Werner Almesberger | 03:38 |
| kristianpaul | hmm how do clean build directory now.. | 03:41 |
| kristianpaul | make clean from flash dint work | 03:41 |
| kristianpaul | stekern: good :) | 03:41 |
| Action: kristianpaul miss clean_all.sh | 03:44 | |
| xiangfu | kristianpaul, you mean the milkymist? | 03:53 |
| xiangfu | kristianpaul, run make clean under the root folder of milkymist same as clean_all.sh | 03:53 |
| kristianpaul | ahh | 03:55 |
| kristianpaul | i missed the new Mafefile, sorry for noise :) | 03:55 |
| Action: kristianpaul download what it seems mico8 gcc source code | 04:20 | |
| Action: kristianpaul is looking for a state machine replacement in software | 04:23 | |
| n0carri3r | morning all | 16:18 |
| n0carri3r | was out using the M1 this weekend: | 16:19 |
| n0carri3r | http://www.twitvid.com/G7BVI | 16:19 |
| n0carri3r | the "N" logo and the greenish-scanlines are PNG's using the new image support | 16:19 |
| n0carri3r | the B/W house exploding is another program, however (was using a video mixer to key the signals) | 16:19 |
| n0carri3r | hope to have better pics and video soon | 16:19 |
| n0carri3r | gonna ask my usual question: how is USB-MIDI support coming along? :) | 16:23 |
| lekernel | hi | 16:25 |
| lekernel | well, Werner just implemented new patch commands to support multi-channel controllers like the Faderfox LV3 | 16:26 |
| lekernel | http://blog.gmane.org/gmane.comp.multimedia.milkymist.devel | 16:27 |
| lekernel | http://downloads.qi-hardware.com/people/werner/tmp/T.fnp | 16:27 |
| wpwrak | yeah. and a bit of crud removal is coming soonish :) (the whole cvar business i had added. silly over-engineering) | 16:29 |
| lekernel | n0carri3r: wow, you made that with the M1? | 16:29 |
| lekernel | "some SRSLY FLY vizzzz for @Nullsleep by Cosmic Morning " | 16:29 |
| lekernel | that one? | 16:29 |
| lekernel | wpwrak: I guess you're going to remove the midiX variables too? | 16:31 |
| wpwrak | pity that the exploding house is a video feed | 16:31 |
| wpwrak | lekernel: i very much looking forward to their killing :-) do you see any need to keeping them around for compatibility ? i don't thing there are a lot of people using them | 16:32 |
| wpwrak | s/thing/think/ | 16:32 |
| lekernel | wpwrak: yeah, just remove them | 16:34 |
| lekernel | it's easy to copy and paste "midiX = ..." in any affected patch, anyway :) | 16:34 |
| n0carri3r | lekernel: yes, that top video | 16:36 |
| n0carri3r | will the M1 ever support animated GIFs? | 16:36 |
| n0carri3r | would be great - then the exploding house could be on the M1, too :) | 16:36 |
| lekernel | it can be done :) | 16:36 |
| wpwrak | maybe just an array of images ? | 16:37 |
| n0carri3r | really? that would AMAZING :) | 16:37 |
| lekernel | wpwrak: yeah :) | 16:38 |
| wpwrak | i have such a thing planned. now that the compiler is more or less under control, it won't be too hard to implement it. (the array of images) | 16:38 |
| lekernel | which is read automatically when a GIF image is loaded | 16:38 |
| wpwrak | do we have a GIF reader yet ? | 16:38 |
| lekernel | no, but we probably can just compile some linux library | 16:39 |
| n0carri3r | that would be great | 16:39 |
| wpwrak | okay, ffs ;-) in any case, you can just do individual frames. | 16:39 |
| lekernel | there's MNG too (which can be read with libpng) but it's lesser known than GIF | 16:39 |
| wpwrak | (copy & paste midiX) yes, unless you rely on the MIDI settings dialog to switch between different controllers or controller configuration. but then, i realize that i may be the only one doing that on a regular basis ;-) | 16:42 |
| lekernel | n0carri3r: your video is great! and with Nullsleep, wow :) | 16:42 |
| n0carri3r | thanks! we're good friends - and roommates :) | 16:43 |
| wpwrak | but i can fix that too by introducing another layer of abstraction. for now, i'll just cram everything into the patch, so it's easy to experiment with things. | 16:43 |
| n0carri3r | the moire patterns in that video are the M1, too - using two PNG | 16:44 |
| n0carri3r | with transparency and sine based movements | 16:44 |
| lekernel | n0carri3r: which USB-MIDI controllers do you have? | 16:44 |
| n0carri3r | and the "N" logo appears over top, because i found a way to jam multiple keys on the keyboards to "mix" patches - then let go of one key to allow one patch to take over | 16:44 |
| lekernel | and plan to use with M1? | 16:44 |
| lekernel | yeah, I added that "patch jam" feature as a little toy in the latest software release :) | 16:45 |
| lekernel | nice to see it used :) | 16:45 |
| lekernel | anyway, next sw should also allow you to have more pictures than 2 per patch | 16:46 |
| n0carri3r | i plan on using the korg nanoKONTROL | 16:48 |
| n0carri3r | http://www.amazon.com/Korg-nanoKONTROL-USB-Controller-Black/dp/B001J8LJWK | 16:48 |
| n0carri3r | its very cheap and i think many would purchase it to use with the M1 | 16:48 |
| n0carri3r | has dials, sliders, and buttons on it | 16:48 |
| n0carri3r | oh, it seems there is a newer one, too: Korg nanoKONTROL2 | 16:49 |
| n0carri3r | but i have the previous one. i'm sure they are very similar | 16:49 |
| wpwrak | the iCon i-creativ can also be an interesting choice | 16:49 |
| wpwrak | still inexpensive but feels a little less cheap than the nanoKONTROL2. there's a solid chunk of metal in there, making it heavy. | 16:50 |
| wpwrak | you can switch it between various types of controls, X/Y pad, faders, etc. | 16:51 |
| wpwrak | now to the achilles heel: they imho stupidly and unnecessarily limited the resolution of the pad to 16x8 | 16:51 |
| wpwrak | so in X/Y mode, you only have 16 horizontal values, 8 vertical ones. if you use faders (except the analog one), then they also have only 8 values. | 16:52 |
| wpwrak | this limits what it can do. but it's still very versatile. | 16:53 |
| n0carri3r | yeah | 16:53 |
| n0carri3r | whatever gets supported, i will buy it right away :) | 16:53 |
| lekernel | afaik the nanoKONTROL2 is working (I remember wpwrak doing some tests with it). we didn't try the 1st version. | 16:54 |
| wpwrak | oh, pretty much anything usb-midi ought to work now :) | 16:54 |
| wpwrak | yes, i have a nanoKONTROL2. works fine. just feels incredibly cheap .. | 16:55 |
| n0carri3r | oh, really? USB-MIDI is supported in the current software? | 16:55 |
| wpwrak | aye :) | 16:55 |
| n0carri3r | wow! okay, i must finish my class prep for now, or i will spend my entire day playing around! | 16:56 |
| wpwrak | ;-)) | 16:56 |
| lekernel | it's just that we haven't sent it through the web updates yet | 16:56 |
| wpwrak | now we need more USB ports to be able to connect a lot of devices :) | 16:56 |
| lekernel | but we will :) | 16:56 |
| n0carri3r | ah! so its not on the web updates, yet? ok! | 16:57 |
| lekernel | no, it's only in the source code on github atm :) | 16:57 |
| wpwrak | for now, i still use my PC as "midi mixer": connect all the devices to it, the then send all the traffic via OSC | 16:57 |
| n0carri3r | i like the portability of the M1 for a live show with no laptop, though :) | 16:58 |
| wpwrak | as long as you don't run out of USB ports, you're fine :) | 16:58 |
| n0carri3r | i usually disconnect the mouse as soon as my "performance" is running, to avoid problems | 16:59 |
| n0carri3r | and just use the keyboard, for now | 16:59 |
| wpwrak | we're evaluating one of these little RF keyboard with integrated touch pad to replace the rubber keyboard in the future | 17:01 |
| wpwrak | that would need one port less. plus, you can turn it off when not in use. | 17:01 |
| wpwrak | and shipping weight goes down ;-) | 17:02 |
| n0carri3r | :) | 17:05 |
| lekernel | n0carri3r: would you have an higher-resolution version of that video? | 17:05 |
| n0carri3r | not at the moment, but my friend emily shot the entire set, along with a few other people | 17:06 |
| n0carri3r | when the videos surface, i'll let you know | 17:06 |
| n0carri3r | ok, i really wanna try that USB-MIDI. is it pretty easy to update the software manually from git? | 17:21 |
| n0carri3r | or will it be available soon via update? | 17:22 |
| lekernel | are you running Linux? | 17:23 |
| n0carri3r | OSX | 17:24 |
| lekernel | hmm ... in fact, we do have OSX instructions :) | 17:28 |
| lekernel | https://github.com/milkymist/scripts/blob/master/README.html | 17:28 |
| lekernel | (just clone the "scripts" repository) | 17:29 |
| lekernel | but this is experimental development code, you have been warned :) | 17:29 |
| n0carri3r | yes, of course - i'll be sure to back up! | 17:30 |
| n0carri3r | and i won't be trying it now, or i may not go to work :) | 17:30 |
| wpwrak | experimental with known M1-crashing bugs. but they're getting fewer :) | 17:31 |
| n0carri3r | i'm happy to say i've had zero crashes! | 17:31 |
| n0carri3r | even with jamming on multiple keys for extended periods of time :) | 17:32 |
| wpwrak | kewl ! | 17:36 |
| wpwrak | oh course, this is kinda bad news: now, i can only make things worse :) | 17:36 |
| n0carri3r | ok, gotta run - take care! | 18:22 |
| GitHub197 | [flickernoise] wpwrak pushed 7 new commits to direct-midi: http://git.io/Gd1I2g | 19:08 |
| GitHub197 | [flickernoise/direct-midi] experimental/T.fnp: Tornado Rain Dance variant for new MIDI control selection - Werner Almesberger | 19:08 |
| GitHub197 | [flickernoise/direct-midi] controls: removed indirection via cvar array - Werner Almesberger | 19:08 |
| GitHub197 | [flickernoise/direct-midi] renderer: keep patch_lock around and clear current_patch when stopped - Werner Almesberger | 19:08 |
| Fallenou | so far : does not work => http://pastebin.com/H607uXLV | 20:38 |
| Fallenou | let's find the issue :) | 20:38 |
| wpwrak | already looks promising :) | 21:03 |
| Fallenou | hehe thanks, looks horrible to debug too | 21:17 |
| GitHub71 | [flickernoise] wpwrak pushed 2 new commits to direct-midi: http://git.io/98PJ8A | 21:19 |
| GitHub71 | [flickernoise/direct-midi] stimuli: added processor for acceleration with an unbounded range - Werner Almesberger | 21:19 |
| GitHub71 | [flickernoise/direct-midi] stimuli: remember and update base pointer for stim_redirect - Werner Almesberger | 21:19 |
| lekernel | Fallenou: I'd suggest you simulate it... it works with xilinx isim | 21:41 |
| lekernel | what do you think of using normal videos instead of GIF? I already got FFMPEG compiled... | 21:42 |
| lekernel | of course I don't expect realtime decoding from the LM32 | 21:42 |
| lekernel | but pre-decoding small 1s-2s clips during patch compilation seems possible | 21:42 |
| wpwrak | hmm, with all the downconverting etc. you have to do on the video first, it may not be excessively useful | 21:49 |
| wpwrak | but then, it looks good on the feature list ;-) | 21:50 |
| lekernel | 'all the downconverting'? | 22:00 |
| lekernel | you'd typically have to cut it already, even simply for aesthetic purposes... so resizing it at the same time doesn't sound like a big constraints | 22:01 |
| Fallenou | you can provide scripts to change size using gstreamer or ffmpeg so that the user can do it easily without being a pro of video editing | 22:03 |
| Fallenou | lekernel: oh simulating the whole lm32 cpu ? i didn't know it was possible | 22:04 |
| wpwrak | what i mean that you'll already edit it heavily, so rendering the result to images would't make much of a difference | 22:04 |
| GitHub101 | [flickernoise] wpwrak pushed 4 new commits to direct-midi: http://git.io/jO2kjA | 22:09 |
| GitHub101 | [flickernoise/direct-midi] compiler: fix NULL pointer bug when running patches that don't use direct MIDI - Werner Almesberger | 22:09 |
| GitHub101 | [flickernoise/direct-midi] stimuli.c: ptrdiff_t is defined in stddef.h, not sys/types.h - Werner Almesberger | 22:09 |
| GitHub101 | [flickernoise/direct-midi] compiler: don't include \n in "cannot add stimulus ..." message - Werner Almesberger | 22:09 |
| Fallenou | lekernel: do you have a link that gives a few intel about how to simulate lm32 with isim ? | 22:09 |
| Fallenou | if not I will start with reading isim doc :) | 22:10 |
| lekernel | Fallenou: you have to connect the buses to some simulated memories, with code in the instruction one | 22:10 |
| lekernel | then the isim command is confusingly named "fuse" and it compiles the verilog code into an executable binary | 22:11 |
| wpwrak | lekernel: are you working on adding movie support ? if yes, maybe i should merge some of my stuff into master, so we don't get a huge merge conflict later | 22:11 |
| lekernel | wpwrak: I can add it into libpixbuf and test it a bit, then you can make use of it? | 22:11 |
| Fallenou | lekernel: simulating wishbone accesses, I hope it won't take too much time to do | 22:12 |
| wpwrak | sounds good. i still need to to the multi-image support anyway | 22:12 |
| lekernel | we can simply treat the movie as one pixmap with multiple frames in it | 22:12 |
| lekernel | and the pixmap object has a new 'frame count' field | 22:12 |
| wpwrak | that should actually be easy now ... hmm ... but how do deal with the unfinished pile MIDI stuff ... ? | 22:13 |
| lekernel | what 'unfinished pile MIDI stuff' ? | 22:13 |
| Fallenou | I guess I can find already done "wishbone blockram slave" | 22:13 |
| wpwrak | my direct-midi branch | 22:13 |
| Fallenou | in order to plug to data and instruction wishbone path | 22:14 |
| lekernel | Fallenou: you can try the new migen stuff to build wishbone block rams :p | 22:14 |
| wpwrak | it's actually not that bad ... less than 1000 lines | 22:14 |
| lekernel | wpwrak: and what's the problem with it? | 22:14 |
| Fallenou | lekernel: I am planning on learning migen, but not now :p | 22:14 |
| lekernel | Fallenou: this gets you a full fledged wishbone block ram with migen: https://github.com/milkymist/milkymist-ng/blob/master/milkymist/sram/__init__.py | 22:15 |
| Fallenou | oh, if it's already done, good :) | 22:15 |
| Fallenou | awesome | 22:15 |
| wpwrak | the problem is that, if adding multi-image support off the master branch, i'll conflict with direct-midi. and i dislike merge conflicts ... | 22:15 |
| lekernel | wpwrak: continue with direct-midi... and we connect it to the movie-enabled libpixmap later | 22:16 |
| lekernel | after direct-midi has been merged into master | 22:17 |
| lekernel | I guess there will be no merge conflicts in libpixmap, right? | 22:17 |
| larsc | lekernel: does this look ok, for the splitter control fragment? http://pastebin.com/bw16qDUe it is basically the same as for the combinator, just with a extra buffer which saves whether a output token has been acked since the last input token | 22:18 |
| wpwrak | alight, let's do multi-image after direct-midi then. no, there shouldn't be any conflicts. i just made changes in renderer/ and compiker. | 22:18 |
| wpwrak | well, there will be a clash in src/Makefile, but that's kinda unavoidable | 22:19 |
| wpwrak | (and usually simple to solve) | 22:19 |
| lekernel | larsc: n = len(self.endpoints) will count both the sources (which you want) and the sinks (which I think you don't) | 22:20 |
| lekernel | n = len(self.endpoints)-1 ? | 22:21 |
| larsc | yes | 22:21 |
| larsc | i guess | 22:21 |
| lekernel | acked = Signal(BV(n), name="acked") <= the name parameter will automatically be set to "acked" (thanks to the bytecode hack), no need to duplicate it manually | 22:24 |
| larsc | is the bytecode hack already commited? | 22:25 |
| lekernel | yes | 22:25 |
| larsc | cause it didn't work here | 22:25 |
| lekernel | are you using cpython? | 22:25 |
| larsc | i guess | 22:25 |
| larsc | the python form python.org | 22:25 |
| larsc | 3.1 though | 22:25 |
| lekernel | $ python3 --version | 22:25 |
| lekernel | Python 3.2.1 | 22:25 |
| larsc | it seems to work for some of the signal names, but not in this specific case | 22:28 |
| lekernel | ah | 22:28 |
| lekernel | you're only declaring one signal in this frame, so there are no conflicts... maybe it simply omits it during the final naming phase | 22:29 |
| lekernel | what name do you get? | 22:29 |
| larsc | the opcode it gets during the name lookup are STORE_NAME, STORE_DEREF | 22:30 |
| larsc | opcodes | 22:30 |
| lekernel | hmm maybe we need to handle STORE_DEREF too | 22:32 |
| larsc | yes | 22:32 |
| Fallenou | OK let's install migen then | 22:33 |
| lekernel | larsc: other than these two details, it looks good :) | 22:35 |
| lekernel | should I commit it? | 22:36 |
| Fallenou | let's first install python 3.2 :/ | 22:36 |
| lekernel | Fallenou: MMU, Migen... you'll soon become the pro of experimental milkymist code :-) | 22:37 |
| lekernel | larsc: ah, no, you must also deassert the source stb after it has acked it | 22:39 |
| lekernel | otherwise you'll get duplicate tokens | 22:39 |
| larsc | right | 22:40 |
| Fallenou | lekernel: ahah yep I hope =) | 22:41 |
| larsc | hm, ok, fixed the auto namer | 22:49 |
| Fallenou | lekernel: that's impressive, I just generated the build/soc.v using migen | 22:56 |
| Fallenou | very impressive what it's already capable of :) | 22:56 |
| larsc | is there a way to get the bv of an expression? | 22:56 |
| larsc | i guess not, unless the expression is just a signal | 22:59 |
| Fallenou | going to sleep, gn8 ! | 22:59 |
| --- Tue Jan 31 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!