IRC channel logs

2015-12-28.log

back to list of logs

<guile-guest2>Hi, is there something like substring but for lists? Something like this (sublist '(1 2 3 4 5) 1 3) => (2 3 4)
<nalaginrut>morning guilers~
<artyom-poptsov>Good morning, nalaginrut
<nalaginrut>heya
<nalaginrut>thanks letsencrypt, nalaginrut.com has https now
<rekado>there is this programme called "axoloti patcher" which is used to generate patches for the axoloti board.
<rekado>it generates C code, which is then sent off to GCC and uploaded to the board via USB.
<rekado>since the programme needs JavaFX, which the latest release of OpenJDK does not include, I'd like to rewrite this in Guile.
<rekado>could you recommend a library for GUIs like this: http://www.axoloti.com/axoloti-patcher/ ?
<rekado>it's boxes with simple custom widgets and ports that can be connected to one another.
<amz3>I know no toolkit with such widget pre-built
<rekado>maybe guile-clutter would work here?
<amz3>yes, maybe, I mean it should... but I did not advance my project enough with clutter to be sure
<amz3>yes in principle clutter does work
<amz3>if you want to compile clutter use git
<amz3>sorry: if you want to compile guile-clutter use git
<amz3> http://www.gnu.org/software/guile-gnome/clutter/download.html
<daviid`>rekado: i don't think it will be possible to draw the connection between the ports/boxes as i see them on the screen shot
<rekado>or maybe I shouldn't bother with a GUI and try to build the important parts in Guile first :-/
<daviid`>rekado: drawing the boxes [as i see them] would be easy [relatively], but animating them [the sound waves ...] will be hard because we still miss bindings for/with clutter timelines and threads, so refreshing an actor canvas [cairo drawings would be done this way] is not possible with our current bindings
<rekado>hmm, I see.
<daviid`>rekado: see here http://www.nongnu.org/grip/examples.html and the comment I wrote wrt the clock example
<rekado>"ganv" does part of what I want. It's a GTK+ widget for "boxes and lines". http://drobilla.net/software/ganv/
<rekado>just needs Guile bindings
<daviid`>rekado: I really wish we had these too, help welcome :)
<rekado>:)
<daviid`>rekado: will ganv allow you animation?
<rekado>I don't think it will. I'm not familiar with GTK widgets --- maybe I could embed an animatable canvas in a widget?
<rekado>The animations are very simple; they are just plots of signal over (sampled) time.
<daviid`>rekado: no matter how easy they are, we need clutter timeline and clutter threads bindings to acheive [unless, maybe, if very few objects, you destroy recreate .. hacky messy :)
<daviid`>rekado: I just posted a quizz on #clutter about the box connections, such as the one here http://drobilla.net/blog/wp-content/uploads/2008/09/ingen_td.png
<daviid`>but #clutter is sleeping I think, tomorrow i'll post it again [no bot, no log on #clutter ...]
<daviid`>rekado: on the axoliti UI, can a user spin these 'mini clock' i see in each box?
<rekado>yes, they are dials like potentiometers on hardware.
<rekado>they can be controlled via the GUI or via MIDI.
<rekado>there's also libgtkflow, which might work for me.
<daviid`>that would require some non trivial work as well
<rekado>libgtkflow seems to allow embedding of input widgets.
<rekado>this "[number] [+] [-]" input widget shown here would be fine for me: https://github.com/grindhold/libgtkflow
<rekado>I don't really need dials.
<rekado>(they may look nice but I find them unpredictable in most audio software)
<daviid`>rekado: that would be easy [see the toolbar example, which responds to a series of keybord inputs...]
<daviid`>rekado: if you could think about some other way to show the ports/patches/boxes connections, if keyboard inputs are ok to change/spin, no sound wave animation to start with, then guile-clutter may fit. it would actually be a lot more beautifull in the end, if that matters ... but if if if ...
<daviid`>rekado: I already have the drag and drop drag and drop is not a problem, it is in clutter itself and i have a working example [not posted yet], so you can click within an actor and drag till the other ... the problem is to draw/represent these connections afterwards, in a clear and easy way for the user ...
<daviid`>oops, to mny drag and drop :) drop the 'I already have the drag and drop drag and' and read it again :)
<daviid`>going afk, ttyl
<rekado>daviid`: I'd rather keep the ports/patches/boxes representation.
<rekado>the rest is optional.
<paroneayea>morning, *!
<artyom-poptsov>Hello paroneayea
<daviid>hello guilers!
<dsmith-work>Morning Greetings, Guilers
<dsmith-work>wingo: The update to master over the weekend fixed the make check on 32bit.
<wingo>dsmith-work: oh that's good!
<turbopape>so we are close to 2.2.X yet ?
<wingo>pretty close :)
<davexunit>probably tomorrow.
<davexunit>;)
<turbopape>cool !
<turbopape>I've read somewhere guile targeted JavaScript,
<turbopape>how is this done? Emscripten ?
<daviid>rekado: someone wrote a similar tool using clutter, here http://imgur.com/VFlCDSr [tristan on #clutter]
<daviid>wingo: heya! please ping me when you fixed bug#20093, because I feel like I'm punished to have to still use 2.0 when all of you are having fun in 2.2 :)
<davexunit>turbopape: that WIP javascript backend did not use emscripten
<turbopape>oh it is still WIP ?
<davexunit>nor would it make sense to
<davexunit>turbopape: it was google summer of code project
<turbopape>I think, yeah
<turbopape>ok
<turbopape>do you have any ilnk to it ? I am interested in having a scheme on JS
<turbopape>may well develop mine, but would be nice to have something to start from...
<turbopape>(I am a bit frustrated by clojurescript... too JVM and too GOOG.closure)
<turbopape>there is some cool work done on JS AST, etc...(EStree, babel)
<turbopape>should be pretty possible to have a JS implementation...
<davexunit>turbopape: I don't know where the source code is for it
<turbopape>ok thank you.
<davexunit>and the developer hasn't been around in many months now
<turbopape>okay, maybe I'll have to play with it by myself then...
<turbopape>I have just one technical question though.
<turbopape>Where I can see the implementation of 'define-syntax' in guile's source? I'm looking for inspiration for it...
<turbopape>thank you !
<davexunit>turbopape: just grep the source code, I don't know exactly where it is
<turbopape>ok thank you davexunit, will just do it !
<davexunit>wingo: I can't remember, did the 2.1.1 release have the floating point optimizations?
<wingo>davexunit: no
<davexunit>okay thanks
<davexunit>trying to get a guix depenency graph for a project of mine to use the new guile so I can measure performance improvements.
<davexunit>I'll have to make a guix package that builds from the latest commit in master
<davexunit>time to play the compile guile game
<daviid>rekado, my 2c: should you really go on with your project of rewritting Axoloti UI using guile, I did think about it and I'm personally now that guile-clutter is a good option, if not the best, even though at the moment it lacks clutter timeline and threads bindings, which I hope to cover sometime in the future. If you proceed with some experiment(s), I'd be happy to help, et me know
<amz3>sneek: tell later turbopape the repository for guile javascript backend is at https://gitlab.com/ijp/guile.git
<sneek>later, amz3 says: turbopape the repository for guile javascript backend is at https://gitlab.com/ijp/guile.git
<amz3>sneek: later tell turbopape the repository for guile javascript backend is at https://gitlab.com/ijp/guile.git
<sneek>Will do.
<rekado>daviid: hmm, I fear that I would spend too much time on the GUI if I went for clutter. It's probably too low-level. I'm lazy and would like to concentrate on the important piece of compiling patches for the target board.
<rekado>libgtkflow looks like I won't need to think too much.
<daviid>rekado: I actually think it will be easier using guile-clutter, then we don't have bindings for libgtkflow, which besides needs gtk3 and we currntly only support gtk2 ... so exit guile scheme on this route ...?
<davexunit>damn it. just spent hours compiling guile master with guix only to have the derivation fail because it couldn't build the manual (forgot to add texinfo to build env)
<rekado>daviid: oh, no guile bindings for gtk3? I did not know.
<daviid>rekado: even if we had, imo clutter and therefore even more guile-clutter is far more approrpiate for your project then gtk
<daviid>rekado: all you need [I would help with that] is to build a series of actors specific to this music domain patches, boxes ... but from the UI screenshot I can see there are just a few, is that correct?
<rekado>I don't know how many there are. Boxes can be created by users by grouping primitives.
<rekado>I haven't used the programme yet, because I don't have javafx.
<rekado>this has to be flexible enough to create new boxes with little effort.
<rekado>daviid: I'll think about it. Maybe clutter is the right thing to use after all.
<rekado>I'll first play with the axoloti sources and try to figure out what needs to be done to make it work for me.
<daviid>rekado: ok
<amz3>libgtkflow screenshot is nice, I think I can do it, no promise attached
<amz3>btw the stamps on FSF mails are awesome :)
***Guest79065 is now known as micro`