Announcing version 0.3 of Exposong! With custom schedules, presentation backgrounds, plugins, faster screen rendering, and a major overhaul of all the source code, it’s an estimated 250% more usable than the previous version! There’s even a German translation for native speakers (we’ll be needing more translators for other languages, for anyone who wishes to be involved).

For plugins in ExpoSong, I’ve gone mostly the route that was in the tutorial at pocoo.org. It’s helped me in understanding it a lot, but I decided to go the route of abstract classes, instead of a capabilities list. This helps documentation, and lets the developer know exactly what needs to be implemented without searching through developer documents.

There’s so much I’m learning about programming while making ExpoSong. A lot of it would have been nice to know while I was making the bulk of it, but I’m learning as I go. Instead of having the classes be attributes of the main class, from what I’ve figured out, I think it’s going to be best to put the class attributes in the module that the class is defined (e.g. schedule.py, Schedule (class), schedule (attribute)). Hopefully, this will allow me to cut down the 400 lines of code in the application.py file. We’ll see.

I’m going to have to do some major changes before I can get 0.3 pumped out, so I’m going to see what I can get done in the next couple of weeks. I’m just now starting to get some motivation after Spring Break (time off always kills me when I have to come back). Once I get plugins working, I should be able to pump out new features a little bit easier, so we’ll see what happens.

Edit 12:02am: I may start pumping out code for my boss, so I can get paid. It is more important to pay the rent than to get ExpoSong further along, so that’s where my priorities lie. I’ve got a paper due on Thursday as well, so that’s also very important. I may have to remove all signs of games from this computer so I can get something done.

I’ve taken a dive into creating a plugin system for ExpoSong. It’s been a ride, because I’ve never built anything like this before, and had no training on how to do so. I had to do quite a bit of research, and used a lot of the information from pocoo.org (that’s actually the 2nd tutorial from that site that has helped me with my program). I’ve moved some code over to a plugin, but haven’t actually tested it out yet, which is usually a bad idea, but I hope that it will work.

The tutorial uses a `capabilities` attribute to show what a class can do, but I modified it so that instead of using an attribute, it is a subclass of another class. This helps with documentation, and seems like a more intuitive way to do things as well.

I’m just now getting it going, but soon I hope to get it integrated so that I can get more done.

So I’ve got a 3rd project now. I’m supposed to see if I can break passwords from a computer. This will be used to email them and let them know that they need to change their passwords. It involves cracking, but for a good cause. It’s going to be a fun project if I can figure out the best way to do so.

I’ve moved all of my websites to new servers. It’s on the same service provider, but I’m paying less and I have more bandwidth and space. It was a good 4 hours or so to move everything over, but I only lack one server because of a feature difference, which I hope to get resolved soon.

If anyone else is in the market, I really like site5, and I think they do a good job with their servers and the support.

I’ve gotten schedules fully implemented, (knock on wood). Drag ‘n Drop goodness, right click menus, and a lot more. I’ve also started a little bit on preparing the program for translations into other languages, but I don’t think it’s quite there yet.

I’m trying to figure out how to shorten main.py. It had over 500 lines of code, but I just got it down to a little less. The farther this program gets, if I don’t figure something out, it will be much longer than it should be. I may have to create a bootstrap file to get everything set up like I want.

I’m glad I could get a lot done today. Usually on days where I don’t have anything to do, I put off everything I could do, and don’t get anything done at all, if that makes any sense at all. Maybe I’ll have ExpoSong 0.3 in a couple of weeks.

Exposong 0.2 has been released!

Changes:

  • Presentation type is denoted by an icon.
  • Preferences dialog to set presentation background, ccli#, etc.
  • Scedules: No custom schedules yet, but can filter by presentation type.

A release has been made for exposong! If you’d like to try it out, make sure you have the required software stated under the downloads section.

There’s still a lot to do in the program, but it has progressed quickly in my opinion.

Edit: I haveĀ  created a project on google projects for Exposong. Another member has joined the project as well, Siegwart B, for usability and testing.

Just noting that I have registered exposong.org. It’s nothing fancy right now, but I should have something a little better looking next week, and hopefully a release of some kind.

I’m out for the weekend. I may have an internet connection, but even if I do, I won’t have much time.

I’ve just finished the ability to edit current slides, but there’s still no way to add a new one. It shouldn’t be too hard to do with the current setup. There’s 3 things on my TODO before I push it to 0.1. I may put out a beta release once I get to that point.

I’ve got an idea for a name, Exposong, which is based on exposition (a type of show and also the first section of a fugue, so it has to do with music), and exposit (to state or clarify). Even though it doesn’t flow off the tongue as well as I’d like, the words make sense for the program. Another alternative is Songsposition, or Expresent, so if you like either of these better, let me know.