Woobie Edjing goodness

Posted at 2005-09-21

I worked a bit on Redact in the last few days, and I decided they were important enough to release Redact 0.1.5.

Most important changes: ImageDescription#set_border was broken badly, this is fixed now. On the feature side, I added Description#inherit, which works similar to the "inherit" keyword in EDC.

Get your copy now :)

Tags , ,

Redact 0.1.4

Posted at 2005-08-25

Some weeks ago, I implemented the missing ImageDescription attributes in Redact, so here's Redact 0.1.4, finally.

Tags , ,

Redact 0.1.3

Posted at 2005-06-14

Whoops, I broke Redact in the 0.1.2 release: if you didn't supply the output filename, Redact would crash.

I just released Redact 0.1.3, which fixes that error.

Tags , ,

Redact 0.1.2

Posted at 2005-06-11

So Redact 0.1.2 has been unleashed.

The most important change is probably that the --image_dir and --font_dir command line switches now actually work :) I also fixed a number of minor bugs, see NEWS in the online documentation for details.

Tags , ,

Redact 0.1.1

Posted at 2005-04-25

I released Redact 0.1.1. Changes include a bunch of new features and a few bug fixes. The docs have the details :)

Grab your copy.

Tags , ,

Redact code and Embryo snippets

Posted at 2005-04-20

In case you're already using Redact to write Edjes (and you know you should!), here's a nice way to properly hilight inlined Embryo code in Vim.

Grab the ruby-small syntax file, and copy it to ~/.vim/syntax.

Now, whenever you put some Embryo/Small code in an Edje, do it like this:

blah.script =<SMALL
/* Embryo code goes here */

That is, put the Embryo code into an heredoc that uses "SMALL" as the delimiter. If you set the syntax for the buffer to "ruby-small" now, the code inside the heredoc will be formatted as Embryo code :)

Tags , ,

Redact officially available now

Posted at 2005-03-29

So here it is. Redact 0.1.0 has surfaced!

If you ever thought that developing Edjes with edje_cc, the official Edje compiler was a PITA, Redact will probably ease your pain!

No more messing around with crappy CPP macros that won't work right for some unknown reason, and don't work equally well on all platforms (hello OS X!). The downside is that you'll need to know some Ruby to make good use of Redact, but Ruby is an awesome language anyway, that's worth to learn :)

Get your copy of Redact!

Tags , ,

An Edje compiler in Ruby

Posted at 2005-02-05

I'm currently working on an Edje compiler written in Ruby, called Redact.

What's special about it? Redact doesn't parse EDC code like the official Edje compiler, edje_cc, does. Instead, Redact sources are Ruby code as well. This gives you much more power when designing and developing Edjes compared to edje_cc.

Redact isn't publically available yet, but here's a 'port' of Ben Rockwood's crossfade Edje to Redact:

include Redact

EDJE.collections("crossfade") do |c|
    c.parts("background") do |p|
        p.mouse_events = true
        p.description.color = "#ffffff"

    c.parts("rect_red") do |p|
        p.mouse_events = true

        p.description do |d|
            d.color = "#00ff0000"
            d.rel[1].set_rel(1.0, 0.0)

        p.description("default", 1.0) do |d|
            d.color = "#ff"
            d.rel[1].set_rel(1.0, 0.4)

    c.parts("rect_green") do |p|
        p.mouse_events = true

        p.description do |d|
            d.color = "#ff000080"
            d.rel[0].set_rel(0.0, 1.0)

        p.description("default", 1.0) do |d|
            d.color = "#00ff"
            d.rel[0].set_rel(0.0, 0.6)

    c.parts("text", Part::TYPE_TEXT) do |p|
        p.description do |d|
            d.color = "#00"

            d.text = "cuddletech"
            d.font = "Vera"
            d.font_size = 12
            d.fit_x = true
            d.fit_y = false

    c.programs("animate") do |p|
        p.signal = "mouse,clicked,1"
        p.source = "background"
        p.targets << ProgramTarget.new(c.parts("rect_red"))
        p.targets << ProgramTarget.new(c.parts("rect_green"))
        p.tween_mode = Program::TWEEN_MODE_ACCELERATE
        p.tween_time = 1.0

Yummy! :)

Tags , ,