Code Ripping
• Chris Liscio
• Chris Liscio
I am doing some major code ripping on FuzzMeasure lately. After getting through my Cocoa book, I have certainly become more familliar with the ways of Cocoa, and how I can more cleanly handle certain scenarios and features. </p> <p> I probably removed between 500 and 1000 lines of code from my main controller class, and offloaded a lot of responsibility into my cleaner classes to handle the measurement process. Now, I'm able to handle various types of analysis and measurements which may be added in the future. </p> <p> Case in point. I've added the ability to do normal or pink-filtered MLS signals, and you can also choose between a standard FFT or a constant-q transform to analyze the extracted impulse response. Previously, I spent a lot of time figuring out how to handle different states that I would get into as a result of user input (changing FFT sizes, MLS orders, etc at the wrong time) and protecting the application from getting into a bad state. Now, everything is handled so much more cleanly, and these issues have essentially disappeared. </p> <p> I've also restructured a lot of internal code that the end-user will never notice. The measurement data handling is highly improved, and managing preferences is a little bit cleaner. Also, I've made a few improvements to the way I handle memory usage, although I'm not convinced it will be a huge change from 1.1. At least I feel better about the way it's done now. </p> <p> To the end user, there will be some nifty changes to the UI, and the graph drawing. I moved a lot of functionality into the menu now, so that copy and save functions are more clear (e.g. you now export data, rather than save it, and you can choose what you would like to actually save). Also, the graphs will have labelling on the axes, and they'll hopefully draw a little quicker than before. Oh yeah, and there should be some other welcome surprises in the graphing area as well. </p> <p> I'm starting to get pretty excited about 1.2 and the features that it'll carry. My focus from this point until the release (which should happen in mid to late-February) is to clean up all the new features, and add one or two more to hit my target feature list. Also, if you're sitting on the fence, and don't know when you should buy FuzzMeausre, buy now! 1.2 will also feature a price increase. All along, my $50 starting price was to give the early adopters a break, and a chance to invest in the future of FuzzMeasure. </p> <p> It won't hit the original target price that I originally had in mind, but it will surely go up. With all the new features, it will match (and in many features, outdo) existing software packages that cost hundreds of dollars. No matter what, I'm planning to keep the standard version of FuzzMeasure under $100, in order to keep it accessible to hobbyists. For the price of the equivalent software on a PC, you can get FuzzMeasure, AND some measurement equipment! </p> <p> Alright. That's enough out of me for today. :) </p>