![]() In early April, I had started playing with the speaker grilles. Lots of work was done internally to support the box of tapes, and manage the collection with Core Animation–the UI that was written over the holidays was reworked again! I had the UI starting to look very much like the prototype at this point. Throughout March, Dan worked on our type logo for TapeDeck, and refined our plastic cassette rendering. It seemed like a nightmare, but I put my head down and went for it. Initially, I wondered how on earth we would implement this–custom UI code, custom window drawing, etc. I spent some quality time with FuzzMeasure, cleaning up some bugs, and took a bit of a vacation from TapeDeck work.īy late February, Dan had sent me a mockup that looks very much like what we see today in the shipping version of TapeDeck. In early February, I left my job to work on SuperMegaUltraGroovy full-time. This was a very difficult piece of the TapeDeck puzzle, and it was fun to get working! This was an extremely complicated undertaking, since Apple doesn't provide an API to modify metadata on M4A files! So, I ended up writing an entire Objective-C library that is capable of parsing, and manipulating MP4 atoms (or boxes, depending on who you talk to), with the addition of the magic bits of metadata that work in iTunes. It was during this time that I decided I should get started on writing MP4 tags to the recorded files. However, in every spare moment I could get, I would squeeze in fixes for FuzzMeasure, and code for TapeDeck. In January, I had been busy with my job, and planning to leave (because FuzzMeasure was doing great, and I thought we had a real winner on our hands with TapeDeck). I probably wrote the bits that rendered the tape and its labels three times during this period. I wrote the UI a few times using Quartz, then Core Animation, then Quartz again. ![]() Over the holidays, I spent a few days implementing the nuts and bolts of the early UI prototype. Effectively, at this stage, we were running Apple's sample code with a UI on top. You could record audio straight to m4a files, and it worked fine. It looked nothing like the application we shipped. I had already built a prototype recorder by this point, complete with a tape, rotating spools, and an audio level meter. There's a 'current' tape in the player, some cassette recorder controls, and a list of tapes in a box. ![]() Wrap up the Audio Queue Services API in Objective-C, add a great UI to aid in collecting the tapes, and it shouldn't take very long at all, right? :)īy mid-December, Dan had some UI sketches which resemble what TapeDeck looks like today. In late November 2007-just before FuzzMeasure 3.0 shipped-Dan and I started talking more seriously about this simple audio recording application that just had to be written. I was well within shipping mode for FuzzMeasure 3.0, and couldn't do much more than talk about it at a high level. In late September 2007, Dan Sandler had started egging me on to develop a simple audio recorder.
0 Comments
Leave a Reply. |