Jan 19
Flex Equalizer
icon1 Paul Taylor | icon2 Development | icon4 01 19th, 2009| icon3No Comments »

This is not a new concept in Flash, but as far as I could tell, there weren’t many solutions for this in Flex. Here’s my stab at doing an equalizer. Watch out for your ears, the volume is set to 100% by default.

http://guyinthechair.com/wp-content/flex/equalizer/EqualizerApplication.html

Fixed
I do have one small problem with it, and I’m working to figure it out… for reasons unknown to me the SoundMixer.computeSpectrum function will return a null array sometimes. I have absolutely no clue why, and I’m open to any suggestions as to why. It only errors in the first 5 seconds.

Update: Figured it out. The problem was that I was relying on EnterFrame to call the render method on the equalizer. Unfortunately, EnterFrame could potentially be dispatched before the sound file was loaded from the server, therefore computeSpectrum wouldn’t have any sound data to work with. This would cause computeSpectrum to return me a null array.

Jan 2
Flex 3 Debugger anomaly
icon1 Paul Taylor | icon2 Development | icon4 01 2nd, 2009| icon3No Comments »

Working today, I discovered the debugger does something silly with for loops. If you have code formatted like so:

var i:int = 0;
var foo:int = 3;
for(; i < foo; i++){
        //Code here
}


If you set a breakpoint on line 3, where the for loop is defined, the Flex debugger will only stop after it has been through one iteration of the loop. This caught me off guard, and for a minute I thought it was immediately incrementing the iterator. Only when I breakpointed on both the line of the for loop and on the first line inside my loop did I realize what was happening. The debugger stopped on the first line of my loop, not when it executed the condition the first time. This does not seem like standard debugger behavior at all. Does this happen to everyone? I know if you define the iterator inline, the debugger stops. Huh.

Dec 22
Redirects from Jon Campos
icon1 Paul Taylor | icon2 Development | icon4 12 22nd, 2008| icon3No Comments »

Hello everyone coming from Jon Campos’ blog post. Please excuse the messy (read: ugly) design of my blog at the moment. I’m redesigning it with a buddy of mine currently, and I’m stuck with whatever I could throw together in 10 minutes.

Here is a link to the example video player I made in PureMVC.

Here is a link to the presentation that I was going to give, if the projector hadn’t borked on me.

Hopefully you can follow my messy presentation style. If you have any questions, comments, or general feedback, feel free to post them in the comments section.

Dec 17

It’s rough, and by no means an example of good programming. But it got me through this hurdle, and I can optimize it later. But here it is for anyone looking for a quick solution:

Demo: Expandable/Collapsible Menu

I started on this component because I needed a menu similar to this (minus the easing function): http://www.theglobalfight.org/

Technical:

  • The menu supports two tiers of linking. Top level links, and one lower level of links.
  • The menu only supports ArrayCollections at this time. If you can’t figure out how to convert your XML to ACs, go back to Flex school.
  • The menu supports nested ArrayCollections; the objects that make up your top level links can contain ACs of their own that you build their sub menus out of.
  • The menu also supports runtime creation of sub menus. For example, if you need to load data from the server to build the sub menu, you can create and then show the sub menu after the data has been loaded.
  • It resizes. Deal with it or set an exact height.
  • It exposes two events: navItemClick and subNavItemClick. They are both of type ItemClickEvent. Fairly straight forward.
  • It uses Tweener. I like Tweener, Get Over It.

Here’s an archive of the demo project. You can see the source by going to the demo, right clicking, and selecting “View Source.”

Oct 29
sweet rainbow pic…
icon1 Paul Taylor | icon2 Uncategorized | icon4 10 29th, 2008| icon3No Comments »

Dusty did this at 3 this morning because he needed to wake up and continue working on the project we’re doing.

I love it.

 

 

 

 

 

Oct 13
Wow, this is old
icon1 Paul Taylor | icon2 Uncategorized | icon4 10 13th, 2008| icon3No Comments »

I haven’t updated the blog in a while. I’m still alive and working, but I’m working too much to think about thoughtful, substantial posts. I’ll get back into this soon I promise. I’m doing some crazy things with PureMVC in Flex, and even delving into the PHP port of it. I’m waiting on my good friends over at nectar to launch so they can redo my site (I’m terrible at design, you can tell by this site). Look for more updates in the future.

Apr 24

1:38
Waiting for Darren to show up. David McDaniel just showed up. Setting up for a long meeting.

1:41
Bron is talking about branching the code. Eating Jimmy John’s sandwich. Talking about versioning and web service versioning.

1:43
Darren still hasn’t shown up yet. Bron is getting the boring stuff out of the way. He’s about to branch the code. Michael wants to get some changes in. 

1:45
Anybody ever get a branch of code in Flex? Didn’t think so. Hey, Darren showed up! Bron is branching. And doing naming conventions. We loves teh conventions.

1:47
Branch failed! Cool error sound of glass breaking. I’m getting crumbs everywhere. Bron is trying to branch the code, but he’s not having much luck. Not much is happening, going to work on flex stuff for a bit.

1:54
Safari crashed on me because there was an unhandled exception in the Flash Player. Great job Adobe. The guys are talking about Sushi Donut (a local sushi restaurant). Mmm, sushi.

1:56
Woo! Bron got the code branched. Now Bron is explaining how to work on branched code. We will continue to develop on main trunk, while branch stays stable. 

1:58
Michael has terrible eyesight. We can’t focus the projector anymore. Bron is demonstrating checking stuff out in Flex Builder. He typed the word that cannot be spoken.

2:01
Numerous references to frosty the snowman and stupid managers. Don’t ask, I didn’t.

2:03
This meeting really is boring. Hopefully it will get better. Gary just left and re-entered the room unnoticed. This is going to take a while.

2:05
I will update again when something interesting happens. Like when we talk about refactoring or timelines or something.

2:35
Took a 30 minute break for office birthday party. Now Bron is talking about interesting things, including architecture and webORB data services. 

2:58
We’ve been talking about reusable code, using MXML components instead of SWC files. Now we’re talking about converting to an MVC framework, timetables, etc. Very exciting.

Summary
Sorry I didn’t live blog the last hour of the meeting. You didn’t miss much, believe me. Actually, I’m kinda disappointed. The meeting went almost exactly as I had predicted. At one point it seemed like we were talking about the right things, but then we started getting way ahead of ourselves. 

I don’t feel like the issues dear to me were adequately addressed:

  1. Reusable, maintainable code implementing primarily an MVC framework.
  2. Three words: centralized event manager.
  3. Object model, comprehensive refactoring plan.

I will get into this more in my next post, but I believe if these three things are properly applied to the app, Unifyer will indeed change the world.