Monthly Archives: August 2011

Mike 8.31.2011

  • Created a project and artifact called Log4Flex which contains the flex logging code / UI to start separating out FGMFlexUtils
  • Started on the google-services library
    • Created a general authenticator that will get a token to make authenticated http requests to any of the gdata services (tokens are service specific)
    • Added some test cases for the authenticator
    • Created a GoogleSpreadsheetService class which will handle executing queries on spreadsheets
    • While testing it, I couldn’t get it to work like the prototype code until I realized it worked within an air app but not inside a browser.  The HTTP Requests from within the browser were getting messed with and I kept getting not authenticated error messages.  So apparently the authentication method I am using will only work for AIR / Mobile apps.

Tom DeVito 8.30.2011

Start: 10:00

  • Got the simulation working with the midi controller
  • Changed the output to show the instrument, note, and simulation position.
  • Debugging the amp class so I can use it for a multiple finger simulation

End: 6:00

Phil 8.31.2011

8:00 – 4:00 VISIBILITY

  • Continuing with the wireframes
  • Got the charts in a ViewStack. It turns out that you need to explicitly include the mx.swc and the sparkskins.swc.
  • Making sure that all this runs on the phone still – and it does! Dropdown menus don’t work though. They don’t seem to fire  events.
  • I think it should be possible to make a popup rollover dialog using lists. Will try that tomorrow.
  • Had a chat with Bill D. He’s going to try to get us a couple of desks at NBP 324.

Dong Shin 08.30.11

  • adding monthly PM Actuals to Financial Status
    • PM Actual Outlay tooltip added to FinancialStatusDataForm
    • query – long and +gly, grabs whole year’s data
    • SELECT * FROM (SELECT r.funding_amount as statusAmount, r.*, c.uid as contractUid, c.contract_number as contractNumber, c.name as contractorName, c.location as contractorLocation, c.amount as contractAmount, d.uid as directCiteUid, d.obligation_amount as dObligationAmount, d.outlay_amount as dOutlayAmount, NULL as rObligationAmount, NULL as rOutlayAmount, b.center_number, a.amount, r.uid as fundingRequestId, a.uid as budgetAmountsId, o.month_1, o.month_2, o.month_3, o.month_4, o.month_5, o.month_6, o.month_7, o.month_8, o.month_9, o.month_10, o.month_11, o.month_12 FROM funding_requests r LEFT JOIN direct_cites d ON r.uid = d.funding_request_id LEFT JOIN contracts c ON d.contract_id = c.uid LEFT JOIN budget_centers b on r.project_id = b.project_id LEFT JOIN budget_amounts a on b.uid = a.budget_center_id, obligations_outlays o WHERE b.project_id = 100 AND a.uid = 1395 AND NOT ISNULL(d.funding_request_id)  AND r.fiscal_year = 2011 AND o.year = 2011 AND o.project_id = 100 AND o.funding_id = 213 AND o.type LIKE ‘PM Actuals Outlay%’ AND o.year_count = 1 UNION SELECT r.funding_amount as statusAmount, r.*, NULL as contractUid, NULL as contractNumber, NULL as contractorName, NULL as contractorLocation, NULL as contractAmount, NULL as directCiteUid, NULL as dObligationAmount, NULL as dOutlayAmount, r.reimbursable_amount as rObligationAmount, r.outlay_amount as rOutlayAmount, b.center_number, a.amount, r.uid as fundingRequestId, a.uid as budgetAmountsId, o.month_1, o.month_2, o.month_3, o.month_4, o.month_5, o.month_6, o.month_7, o.month_8, o.month_9, o.month_10, o.month_11, o.month_12 FROM funding_requests r LEFT JOIN budget_centers b on r.project_id = b.project_id LEFT JOIN budget_amounts a on b.uid = a.budget_center_id, obligations_outlays o WHERE b.project_id = 100 AND a.uid = 1395 AND r.fiscal_year = 2011 AND r.uid NOT IN (SELECT funding_request_id FROM direct_cites) AND o.year = 2011 AND o.project_id = 100 AND o.funding_id = 213 AND o.type LIKE ‘PM Actuals Outlay%’ AND o.year_count = 1) AS T1 ORDER BY uid, contractUid, statusAmount DESC

Mike 8.30.2011

Looking in to some difficulties we may encounter when trying to remotely access google data services with URL requests only:

  • Authentication – http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html details how we may request a service token which can be used for further data requests.  Each token is service specific so here’s a list of services and their (not obvious) names http://code.google.com/apis/gdata/faq.html#clientlogin
  • List Spreadsheets? – once we know a spreadsheet’s name / key we can make queries against it, but how do we get a list of spreadsheets?
  • column name resolution? – google identifies all their columns using ‘A’, ‘B’, ‘C’… from left to right.  What we refer to as the column name they call the label.  Queries are made using the identifiers and not the labels so changing column order changes the query results.  We may not care though…

Phil 8.30.11

7:30 – 5:00 VISIBILITY

Tom DeVito 8.29.2011

Start: 10:00

  • Started a class for the midi controller to make commanding it easier.
  • Trying to figure out how to time the start and stop of different notes running simultaneously
  • Spent a long time looking at the documentation for the midi chip but it didn’t have midi commands in it.
  • http://hummer.stanford.edu/museinfo/doc/formats/midi/ as lots of good info on midi
  • It seems that the least significant four bytes of a command determine the channel
  • Pitch bend might be useful for adding to the contact effects
  • http://blog.tangrs.id.au/?p=551 is an example of playing an midi sequence on an arduino

End: 6:00

Mike 8.29.2011

  • Created a few applications that use the phone’s accelerometers using the Flint particle system.  The accelerometer API is pretty simple: there’s a constantly updated variable for for the acceleration along each axis and it is normalized (1.0 = 1 G).
  • Looking in to ESRI ArcGIS library for making a flex mobile map.  It’s this simple

Phil 8.29.11

8:00 – 4:30 VISIBILITY

  • We have power!
  • Found out why the map app isn’t working. The Google maps flex swf tries to download another swf which iOS doesn’t allow. Here’s the workaround: http://cookbooks.adobe.com/post_Display_Map_in_iPhone_App-18959.html
  • Got the workaround behaving. Also found a new book on iOS/Flex development – http://oreilly.com/catalog/0636920021117. I have the PDF, if anyone’s interested.
  • Walked through the creation of VISIBILITY MOBILE. It will get its data from a remote object that talks to our DB or Google Spreadsheets. Should be very cool

Tom DeVito 8.26.2011

Start: 10:00

  • Experimented with different instruments.  Most hold the note til you tell it to stop but some have set stop timings.
  • Experimented with increasing the attack.  More subtle then I hoped.  Will have to use the volume control for the impact effect.
  • Added the ability cycle through instruments
  • Added the ability to cycle through notes

End: 6:00