Archive for the 'Loudspeaker Software' Category

Today I shall submit a small movie I made for consideration at the Oscars. It is entitled, “FuzzMeasure 1.2b1 — The new UI”. I’m sure that FuzzMeasure is worthy of at least a Best Actor nomination for this one.

It’s almost there. I just have to clean up copy/paste, printing, implement some useful impulse zooming, and I still have to design a decent UI for impedance calibration. Then, I’ll release 1.2b1.

At this point, I’m going to leave a few things out of the 1.2b1 release, just so I can get it out there faster. I think that different window shapes (Hamming, half-windows, etc) as well as some other little tweaky things (labels on the graph) will have to wait until 1.2b2.

Fire me an email to let me know what you think. :)

After working pretty hard on designing multiple windows and window controllers for FuzzMeasure, I was happy with how it all turned out. Unfortunately, I made that judgement far too quickly without actually trying to *use* FuzzMeasure for more than a few measurements.

Multiple windows in FuzzMeasure are really clunky. Once you open a second document, you totally lose track of which windows belong to which document. It all starts getting very unmanageable and confusing real quickly.

So, my proposed solution to this problem involves a big window that contains all three views of the information — the measurement record list, the frequency/phase response, and the impulse response. I’ll be sure to throw a screenshot up once I’m happy with how it’s working.

Not much else has been happening from a development standpoint. I solidified a few things with respect to my payment processing, and built some Python scripts to generate my product pages for FuzzMeasure 1.2. At this point, I’m totally focused on getting FuzzMeasure finished off. There are still a lot of missing features (for example, impedance measurement calibration), so it my still be a while.

I’d love to just throw out another preliminary beta soon, so that the interested testers can hammer on the core features, and I can focus on the finishing touches (like adding all the right copy/paste operations, exporting Octave/CSV files, etc). However, I won’t release anything until impedance is fully completed. That’s probably the most used (and useful!) feature of FuzzMeasure right now. :P

This past week just flew by. I’ve been working on various aspects of FuzzMeasure 1.2 ranging from multiple colored curves, to license key entry, to payment processing on my web server.

My motivation to get the license key generation and payment processing sorted out sprouted from the high processing fees on the eSellerate side, as well as the lack of security involved in their license key generation. Also, I’m planning to raise the price of FuzzMeasure, and I’d like to keep more of that money for myself. There are a lot of expenses I will be incurring as FuzzMeasure progresses, and I want to be sure I can handle them all.

I’ve spent all the money I’ve made on FuzzMeasure thus far, and every single penny has gone back into improving FuzzMeasure. I purchased a bunch of USB audio devices to ensure that FuzzMeasure is compatible with various device behaviors. I have also purchased a small selection of books that cover the theory of loudspeaker measurement.

There are a bunch of other purchases I plan to make in the future, like the materials required to build a set of speakers that I can fully document. I want to fully illustrate the process of measuring a raw driver, deriving the T/S parameters, designing the box, and measuring the finished product.

Also, as I continue to gain recognition, and purchases increase, I will have to graduate from my home DSL connection for hosting my site. I resolved a few issues with my DSL provider a few months ago that have really solidified my connection, so I will try to hold this off as long as possible. :)

The other reason I want to improve the process is because eSellerate’s built-in eSeller is just not cutting it for me. I really dislike the fact that it looks like a Mac OS 9 app slapped into OSX. Also, it bloats FuzzMeasure unnecessarily. When I tried to customize my web store using their interface, it was so painful that I decided to “roll my own” using PayPal. PayPal has been great to me so far, and their instant payment notification API is very nice.

So, yeah. A lot has been going on. The 1.2b1 will be out soon. I swear. :)

After a ton of work this weekend, I managed to get FuzzMeasure working with Cocoa Bindings. The main reason I did all this work was to facilitate multiple curves. The other reason I went down the bindings road was because I wanted FuzzMeasure to be easily maintainable, and ready for the future.

Now, to utilize my newest software purchase, I present a video that quickly demonstrates the fruit of my labour. I hope to post more videos in the future, to better illustrate what I’m talking about. :)

I also got some neat changes in yesterday to finish off the impulse UI by allowing the user to resize the window, rather than creating a new one every time. That custom view is really starting to mature now. See?

Screenshots are very important for giving a good impression to a potential downloader. I know that when I’m evaluating whether or not I should try software, the screenshot can often make or break the deal. If something looks like it has a garbage interface, I really don’t want to waste my time with it.

A video-screenshot is even more impressive to me, since it provides a very clear view of what the user should expect when using an application. FuzzMeasure will have a live-updating frequency response as you drag the window around the impulse response. This is not easy to communicate with a static image. :)

So, this morning I finally got around to purchasing Snapz Pro X, so that I can go the extra step and provide some actual video-screenshots of FuzzMeasure in action. Gus did it with VoodooPad, and I think it really helps illustrate what your app can do.

Here is a plain ol’ static shot that I took this morning, which illustrates how FuzzMeasure should look for 1.2. Note all the extra window goodness…