Close

TinyXml2 and other improvements

A project log for eXaDrums

Electronic drums for Linux

jeremyJeremy 02/09/2016 at 20:090 Comments

Hi guys,

I've been working on the library last weekend. The biggest change is probably that I decided to use TinyXml2, instead of libxml2, to read the xml configuration files.

The update also includes a few improvements in the drum module, and kit manager (or kit parameters). The drum kit parameters are now stored in a struct. That struct contains the kit name and location, as well as a vector of InstrumentParameters. That's what helped to simplify the drum module. A for_each loop is used to instantiate all the instruments, and transfer their sounds to the SoundProcessor.

I also made a few changes to the GUI, it's now running in fullscreen on the Raspberry Pi, and 800x480px on a PC/laptop (that's the 7" touchscreen resolution). Here's how it looks at the moment:

Figure: Current appearance of the GUI on Ubuntu MATE.

Not very exciting yet, but it will be, I'm just focusing on the library for now. There are a few things to sort out before I really start to focus on the GUI.

The main things are to make the library work with multiple sounds per instrument, and to find a way to process the instruments triggers in order to allow the sound processor to select the right sound sample to play. I'll start to think about it this week.

By the mean time, I ordered all the components to solder a nice board that will be plugged in the GPIO port. I already had most of the components, but I wanted to improve a few things, which is why I had to order a few more parts. Hopefully you'll see a picture of the board pretty soon!

Cheers.

Discussions