I’ve gotten quite a bit of progress done on the presentation program already. I’ll put a screenshot of what I have so far. The program isn’t usable yet, but I’ve got enough to make it decent looking.

Presentation PreRelease

The plan is to use the top left box as a “playlist” type area, that has selections for All Presentations, and underneath that will be what would be a “playlist” in a music program. I’m not quite sure how the dual screens on the bottom will work; the idea came from EasyWorship, but I think I may do away with one of them and just show the current monitor view.

On the bottom left, there is a list of songs. As my last post said, it’s going to default to basic slides instead of songs, and allow more types to be added (such as lyrics, etc). This implementation will be more friendly toward the general user, and allow for not just churches, but any individual to use the program for presentations.

Rant About Technical Issues

I really like the flexibility of GTK, even though it’s difficult to learn. Glade is making things a lot easier. I’m having some frustration with the quality of documentation with pygtk, especially with pango.layout and gtk.gdk.drawable. I think I’ll have to move to use cairo for the presentation screen to have anything decent, because once I write something to the screen, it doesn’t want to erase again. When combining widget.modify_bg, and drawable.*. The downside to that is cairo doesn’t have any documentation for python, and it’s harder to use. I can’t seem to find a way to blur the text for a shadow; I could cheat and just a partially transparent version of the text a bunch of times underneath the text (moved around to give a blurring affect), but I’m afraid it’s going to eat up resources.

I’ve come up with a little bit of the basics for the presenter program. I think it would be more useful to the world if the program was just for generic slides, kind of like a simplified PowerPointâ„¢ (Update: This is not a PowerPoint clone; basic slides are for simple presentations and will not attempt to replace full fledged presentation software, but to simplify updating and managing multiple presentations, such as lyrics). It could then have a plugin for displaying lyrics, and possibly even sheet music. The sheet music will take a lot of time, because creating a program that’s easy to put sheet music into is a lot harder than writing it down, and even reading it (If I remember correctly, less than 10% of the church of Christ can read sheet music, and I’m sure those outside is an even smaller number).

Just starting this program has presented a challenge to me. It’s a challenge to write a Graphical User Interface, and with all the power that GTK provides, it’s technical and difficult to use.

I’d like for the program to be open-source and free for everyone, but I may have music packs, background packs, and some other useful tools available for a fee. I think a useful idea would be to allow the program to work into an online service that uses songs and such directly off of a database on the internet, and charge a monthly fee. They’ll have to pay for the fee to use the songs anyways if they don’t have a CCLI, and that only covers so much anyways. Of course, I’ll have to turn around and pay somebody to use the lyrics and music for the songs.

One thing that has been frustrating is searching for help on certain areas. It seems like when I search Google for something specific about GTK, it comes up with source code or API, and no good tutorials or explanations as to how to use it. Oh well.

I’ve had on my agenda for a long time to create a presentation program. The solutions right now consist of overpriced, commercial programs, and a couple of other, such as OpenSong, but still do not meet the needs that I see. I started thinking about this while reading a post by afderrick, and since I’ve had a lot of free time, it looks like something I could work on.

One thing I’m going to have to work on is maintaining the project if I finish it. That’s probably the reason why my other projects stagnate.

It would probably be highly based on EasyWorship, because I have access to the program. I would also look at OpenSong, but it’s not near as usable as EasyWorship.

After some research, I’ve decided that Python and GTK are the plan so far. I’ve barely started anything, but maybe it’ll turn into something in the near future.