meme x giffy

The other week I was tinkering with editing GIF animations in Emacs, and then I started wondering: Can this be any more ridiculous?

Yes.

So it’s a mashup of the Emacs meme mode and the new GIF animation code.  I spent most of the time on this wondering whether I could somehow make one or the other a minor mode before giving up and just mashed the code into meme.el, which can be found on Github.

The main challenge here was figuring out how to make this fast enough.  The first naive implementation just created an SVG 25 times a second with all the data in it, and Emacs just isn’t fast enough to print a ~2MB XML structure that often.  (Not to mention when animating bluray screen grabs: The SVG structure is then about 7MB.)

So I cheated and pre-computed the screengrab bits, and then plonked down those bits into the printed XML structure.  Which made it fast enough even for bluray animations on my rather spiffy machine; your mileage may vary.  If your machine is too slow, you may have to pre-downscale the screengrabs the animations are based on.

Exporting to GIF and MP4 is supported if you have ImageMagick “convert” and “ffpmeg” installed.

 

WFC Togo: Ashakara

It’s a pretty grainy transfer, but it kinda suits the film, because it’s kinda odd. It’s about an African scientist discovering the cure for a mysterious disease (AIDS isn’t mentioned) in a jungle plant, and people trying to exploit this cure. Which involves a satellite uplink that’s being run by an AI? For some reason?

Very strange.

But it’s well made. I mean, the audio is good, the actors are fine, the camerawork is decent, the editing is professional. So it almost works, but it somehow lacks any tension, despite all the mysteries and the action.

Ashakara. Gérard Louvin. 1991. Togo.

Jus de bissap

  • 4 parts chilled hibiscus tea
  • 1 part sugar
  • fresh mint
  • vanilla extract
  • grated ginger
  • orange flower water
  • 1 parts lemon juice
  • 2 parts orange juice
  • 3 parts rum

Steep the hibiscus flowers in boling water. Strain into a pitcher and add all the other ingredients and allow to cool off. Add the rum and strain into an ice-filled glass.

This post is part of the World of Films and Cocktails series. Explore the map.

New Music

Music I’ve bought or found this month.

I’ve been rooting through boxes and boxes of old stuff.  A seemingly unlimited supply of things to throw away.  But one box was full of old tapes, a fair number of which are bootlegs and mixtapes of rarities I got in the mail in the 90s.  I couldn’t just throw them away just like that, so I’ve been digitising. I think I’ve made my way through about one quarter of them now…  and I think it’s unlikely that I’ll ever listen to them again after this.

So this makes sense!  Totally!1!

jukebox.php?image=micro.png&group=Stuff&album=20+(Uneasyness%2C+Expectations)jukebox.php?image=micro.png&group=Various&album=2007+Dekmantel+Ten+Years+2017jukebox.php?image=micro.png&group=Radio+Tapes&album=36jukebox.php?image=micro.png&group=Stuff&album=45+(Recitative)jukebox.php?image=micro.png&group=Lamb&album=5
jukebox.php?image=micro.png&group=Kevn+Kinney+(...+and+the+Golden+Palominos)&album=A+Good+Country+Milejukebox.php?image=micro.png&group=Jim+Black+Trio&album=Actualityjukebox.php?image=micro.png&group=LCD+Soundsystem&album=American+Dreamjukebox.php?image=micro.png&group=Jim+Black&album=Antiheroesjukebox.php?image=micro.png&group=Unknown+Tape&album=BASF+C90
jukebox.php?image=micro.png&group=Unknown+Tape&album=BASF+CE+II+C90jukebox.php?image=micro.png&group=50+Foot+Wave&album=Bath+Whitejukebox.php?image=micro.png&group=David+Bowie&album=Be+My+Wifejukebox.php?image=micro.png&group=Dead+Can+Dance&album=Berkley+Arts+Center+17.11.90jukebox.php?image=micro.png&group=Unknown+Tape&album=Black+Dog+Productions
jukebox.php?image=micro.png&group=Lal+%26+Mike+Waterson&album=Bright+Phoebusjukebox.php?image=micro.png&group=Janka+Nabay+%26+The+Bubu+Gang&album=Build+Musicjukebox.php?image=micro.png&group=Unknown+Tape&album=C90jukebox.php?image=micro.png&group=Uri+Caine&album=Callithumpjukebox.php?image=micro.png&group=Tangorodrim&album=Defunct+Pluto+Mythology
jukebox.php?image=micro.png&group=Unknown+Tape&album=Depeche+Mixjukebox.php?image=micro.png&group=Zeal+%26+Ardor&album=Devil+is+Finejukebox.php?image=micro.png&group=Kaitlyn+Aurelia+Smith&album=Earsjukebox.php?image=micro.png&group=Janka+Nabay+%26+The+Bubu+Gang&album=En+yah+sayjukebox.php?image=micro.png&group=Neil+Young+%26+Crazy+Horse&album=Everybody+Knows+This+Is+Nowhere
jukebox.php?image=micro.png&group=Various&album=Girl+in+the+Garagejukebox.php?image=micro.png&group=Unknown+Tape&album=HBS+IIjukebox.php?image=micro.png&group=Sonny+Murray&album=Homage+to+Africajukebox.php?image=micro.png&group=Tongue&album=How+Nice+It+Isjukebox.php?image=micro.png&group=Split&album=Jamie+Lidell%2C+Herbert
jukebox.php?image=micro.png&group=Unknown+Tape&album=Kitchens+%2B+Bj%C3%B6rkjukebox.php?image=micro.png&group=Various&album=Kompakt+Total+17+(1)jukebox.php?image=micro.png&group=Various&album=Kompakt+Total+17+(2)jukebox.php?image=micro.png&group=Daniel+Levin&album=Livingjukebox.php?image=micro.png&group=Alan+Silva+and+His+Celestial+Communicatin+Orchestra&album=Luna+Surface
jukebox.php?image=micro.png&group=Peter+Br%C3%B6tzmann+Octet&album=Machine+Gunjukebox.php?image=micro.png&group=Gong&album=Magick+Brotherjukebox.php?image=micro.png&group=Unknown+Tape&album=Maxell+C100jukebox.php?image=micro.png&group=Unknown+Tape&album=Maxell+XL+II-S+C90jukebox.php?image=micro.png&group=Cornelius&album=Mellow+Waves
jukebox.php?image=micro.png&group=Various&album=Music+for+Ironing+on+a+Rainy+Sundayjukebox.php?image=micro.png&group=Don+Cherry&album=Music%2C+Wisdom%2C+Lovejukebox.php?image=micro.png&group=Various&album=NME+Brat+Packjukebox.php?image=micro.png&group=Gas&album=Narkopopjukebox.php?image=micro.png&group=Zola+Jesus&album=Okovi
jukebox.php?image=micro.png&group=Jimmy+Lyons&album=Other+Afternoonsjukebox.php?image=micro.png&group=PWR+BTTM&album=Pageantjukebox.php?image=micro.png&group=Oathbreaker&album=Rheiajukebox.php?image=micro.png&group=Raskovich&album=Science+and+Technologyjukebox.php?image=micro.png&group=Vilde+%26+Inga&album=Silfr
jukebox.php?image=micro.png&group=Michel+Puig&album=Stigmatesjukebox.php?image=micro.png&group=Unknown+Tape&album=That's+AS+C60jukebox.php?image=micro.png&group=Au+Revoir+Simone&album=The+Bird+Of+Musicjukebox.php?image=micro.png&group=Daniel+Levin%2C+Mat+Maneri&album=The+Transcendent+Functionjukebox.php?image=micro.png&group=Ryuichi+Sakamoto&album=Thousand+Knives+Of+Ryuichi+Sakamoto
jukebox.php?image=micro.png&group=New+Grape&album=Timejukebox.php?image=micro.png&group=Various&album=Trax+Testjukebox.php?image=micro.png&group=Tony+Buck&album=Unearthjukebox.php?image=micro.png&group=Unknown+Tape&album=fLush+(Live+%26+Rare)

Of course you should be able to make animated GIFs in Emacs

I was wondering what a convenient production process for GIFs from movies would be like, so I hacked my hacked version of mplayer a bit more.  Nothing major, since it already has all the functionality, but it doesn’t group continuous screenshots by name, which makes picking out the animations afterwards awkward.

There’s probably a gazillion GIF editors out there already, but since the things you typically want to do with an animation (trim start/end, adjust speed and how many frames to skip) are kinda trivial, it seemed more convenient to just write a mode in Emacs.  So I did.

It uses the ImageMagick “convert” command to actually stitch the images together in the end after you’ve done the edit, so it’s not a pure Emacs-only solution.

Creating GIFs in Emacs

And here’s the result:

I’m sure this is going to turn out to be really useful some day!