That is very cool, Leif. Still, I'm also interested in the original question: if I wanted an interactive GUI terminal in Racket, what's the best way to do it?
On Tue, Aug 29, 2017 at 7:40 PM, Leif Andersen <l...@leifandersen.net> wrote: > Well James, you're in luck. > > The short answer is, yes, yes you can. You should check out video at > http://lang.video (you can follow the progress either on the blog, the > twitter feed http://twitter.com/videolang , or on github itself: > https://github.com/videolang/video . Alternatively, you are welcome to > arrange a call with me some time so we can coordinate our efforts. > > > The (slightly) longer answer is: you can find the (private and thus > unstable) bindings here: > https://github.com/videolang/video/tree/master/video/private/ffmpeg; > and my (very early) prototype NLVE widgets here: > https://github.com/videolang/video/blob/master/video/private/editor.rkt. > In either case, contributions are absolutely welcome. Bug reports are > also welcome and very helpful. > > I hope that helps, and feel free to ask any questions. If you are > interested in creating GUIs for Video editing we should also sit down > for a chat some time. (Either in person or via teleconference.) > > Anyway, I hope you have a lovely day. > > ~Leif Andersen > > > On Tue, Aug 29, 2017 at 3:57 PM, James <jbiomant...@gmail.com> wrote: > > I have been working through The Racket Graphical Interface Toolkit > documentation to learn GUI programming and I thought I would do a small but > useful project. The idea is to make a simple GUI front end which will > formulate commands for ffmpeg to do various video and audio conversions on > selected files and then run those commands. MrLib/terminal seems like just > the thing except there are various ways that it isn't as good as it could > be for this kind of project. It's mostly small things, for example, the > cancel button is labeled "Abort Instillation" by default. The one thing > which is not so simple is that it looks like it is intended to just run one > command and not create an interactive environment. I was expecting to be > able to send commands to the terminal% object in order to run things one > after another. Instead, you pass a function as a parameter when you create > the terminal% object and it just runs that function. So, either I have to > close the terminal and open a new one each time I run a command or I > suppose that I could have the function work with a thread mailbox or > channels so that I could keep using it. My question is whether MrLib > Terminal the best option for this kind of work or is there a better bet? > > > > https://docs.racket-lang.org/mrlib/Terminal_Window.html > > > > James > > > > -- > > You received this message because you are subscribed to the Google > Groups "Racket Users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to racket-users+unsubscr...@googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.