Category Archives: Flex Client

Phil 5.29.13

8:00 – 1:00 SR

  • Backups
  • There was a demo today! Was invited in towards the end to talk about data security and roles.
  • Had a good idea about how to run the PA/RA code on one of our (Dreamhost? Steadfast?) servers and let the labs input their data directly. We could then ingest the data nightly. Need to research this a bit.

1:00 – 4:00 FP

  • Finished rolling up the SampleSounds(s) into BasicAudio.
  • Starting on 3D audio, using How to: Integrate X3DAudio with XAudio2
    • Adding the 3D calls to the main() in ConsoleSound2, just after the BasicAudio class has been initialized.
    • Had to add x3daudio.lib to the project and <x3daudio.h> to the #includes.
    • This looks to be the meat of the calculation. It looks like X3DCalculate() works on the relative position of an Emitter and the Listener and uses that to populate a DSP. Once that’s done, then the Audio2 source is manipulated appropriately.
    •         X3DAudioCalculate( g_audioState.x3DInstance, &g_audioState.listener, &g_audioState.emitter, dwCalcFlags,
                                 &g_audioState.dspSettings );
      
              IXAudio2SourceVoice* voice = g_audioState.pSourceVoice;
              if( voice )
              {
                  // Apply X3DAudio generated DSP settings to XAudio2
                  voice->SetFrequencyRatio( g_audioState.dspSettings.DopplerFactor );
                  voice->SetOutputMatrix( g_audioState.pMasteringVoice, INPUTCHANNELS, g_audioState.nChannels,
                                          g_audioState.matrixCoefficients );
      
                  voice->SetOutputMatrix(g_audioState.pSubmixVoice, 1, 1, &g_audioState.dspSettings.ReverbLevel);
      
                  XAUDIO2_FILTER_PARAMETERS FilterParametersDirect = { LowPassFilter, 2.0f * sinf(X3DAUDIO_PI/6.0f * g_audioState.dspSettings.LPFDirectCoefficient), 1.0f }; // see XAudio2CutoffFrequencyToRadians() in XAudio2.h for more information on the formula used here
                  voice->SetOutputFilterParameters(g_audioState.pMasteringVoice, &FilterParametersDirect);
                  XAUDIO2_FILTER_PARAMETERS FilterParametersReverb = { LowPassFilter, 2.0f * sinf(X3DAUDIO_PI/6.0f * g_audioState.dspSettings.LPFReverbCoefficient), 1.0f }; // see XAudio2CutoffFrequencyToRadians() in XAudio2.h for more information on the formula used here
                  voice->SetOutputFilterParameters(g_audioState.pSubmixVoice, &FilterParametersReverb);
              }

Phil 5.24.13

7:30 – 11:00 SR

  • Backups. And to make sure that it’s possible to see the results of the db backup script, I added in a “pause.exe” at the end of the batch file.
  • Deployed the new FA and RA
  • RA was taking a *long* time to start up. It turns out that the reason was that there were 17,000 alerts that were going into a DataGrid. The temporary fix was to delete the old alerts, but there needs to be a mechanism for determining/limiting what to show.

11:00 – 4:30FP

  • Building a copy of XAudio2BasicSound, cleverly calling ConsoleSound2.
  • Since it depends on SDKwavefile, I had to pull SAFE_DELETE, SAFE_DELETE_ARRAY, and SAFE_RELEASE from dxut.h. It also requires dxerr.h. but that’s in the regular directx include directory.
  • Extremely empty code right now, but it compiles and links. On a side note, the compiler should accept the environment variable $(DXSDK_DIR), but it doesn’t. And adding macros is an enormous pain, as near as I can tell.
  • The code is ported over and works. It’s all stuck in a main() right now. I need to clean up and build an Audio class. Actually, looking at the way the code is set up, a WavSampleSound class might be better. It probably could extend from a SampleSound class, but I’ll break that out later…
  • Class is mostly done and running!
  •  ConsoleSound2

Phil 5.23.13

7:30 – 10:30 SR

  • Backups, and it turns out that there was a bug with the project_portfolio_enh db, where a view that referenced tables that no longer exist was trying to be serialized. Dropping the view fixed the problem.
  • Deployed the new FA, and changed the db around a bit to accommodate. Which caused all the data to disappear from the client due to a null return of a query. Which caused us to want to restore from the backups. Which brought the backup error to light. Fortunately, it’s a test db, and very little actual work was lost.
  • Looked at the server info in Xacta, which was a new, exciting thing. It looks like our current authority to operate expires 3/25/2014. Need to keep an eye on that.
  • Meeting with the PIT crew from 7:30-8:00, which I missed due to the fact that I was uploading the new FA in preparation for the *scheduled* 8:00 meeting. Dong caught it though. He showed/described FA and RA to the team and they are actually quite happy.

10:30 – 3:30 FP.

  • More Audio3d.
  • Starting to add in the 3dAudio based on this and this and this.
  • Got an audio link error and chased that down, discovering a few things along the way.
  • There is directX help for C++ in (“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Documentation\DirectX9\directx_sdk.chm”). I don’t know it it’s any good, but I’m going to look though it next. Note that this is DX9, not 11. I’m *hoping* that this is all up to date…
  • Pointed Configuration Properties->Linker->General->Additional Library Directories at (C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86), and added the following files to Configuration Properties->Linker->Input->additional dependencies”
    • d3d11.lib
      d3dx11.lib
      winmm.lib
      xinput.lib
      X3DAudio.lib
    • This is a change from the libraries that the demo book points at, which were dxd9 libs. Recompiled and ran the code with no problems. I did attempt to clean up the xact3dInstance pointer in ~Audio3d(), but delete[] threw an exception
  • Reading through the DX documentation, which, though it is in the DX9 folder, contains information about DX11. Whatever.
  • The documentation is kind of what you’d expect, but it let me find the tutorials and demos, which are quite nice. On my machine, the demos that I’m interested in are located here: (C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\XAudio2). It contains 4 projects:
    • XAudio2BasicSound
    • XAudioBasicStream
    • XAudio2CustomAPO
    • XAudio2Sound3D
  • Each project has source and MSVC2008 and MSVC2010 project files. I’ve just opened up the XAudio2Sound3D MSVC2010 project, and it compiled and ran just fine: XAudio2demo
  • This is almost exactly what I intend to build for the test environment, so that’s pretty cool. And using the buttons or the keyboard, I can drive the sound emitter around my head. Woohoo!
  • Next goal is to build up a copy of XAudio2BasicSound and then add the 3D components (without the graphics) from XAudio2Sound3D.

Phil 5.21.13

8:00 – 1:00 SR

  • Backups
  • Deployed the new FA and RA for the first time. Had to make some changes to the DB to support. FA runs just fine, but there is a query problem in RA. Current bugs are:
    • When Update is clicked and not all fields are filledin, we might what to pop up a dialog box saying that they are not all filled in but allowing for a save.
    • Add tooltips to buttons. In particular, we need to be clear about what saves and what cnacels without saving.
    • Add a “Select All” to the SQL error dialog, now that we have QUERIES FROM HELL.
    • RA error string: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptio: Unknown column ‘c.appropriation’ in ‘where clause’.
  • Cleaned up the blog a bit to accommodate FA and RA.
  • Had an interesting talk with Dimitri about his Master’s program. Thought for the day. What if access to a system was based on an Eliza-like conversation with the computer. There would be an initial “get acquainted” session, and then the “login” conversation would be shorter.
    • Store key patterns as well as the words.
    • Use a plagerism test to look for cut-and-paste replies from recorded sessions
    • Login discussions could be like Capchas in that they could be half test, half learning.

2:00 – 4:00 FP

  • I thought this tutorial would be the best way to get positional information, but it appears to be stale. The New Way seems to be this.
  • Close, but it’s actually part of the Windows API now?
  • Nope that’s C#. Still looking. Since I have xact3.h working, trying to stay in this space…
  • Ok, for tomorrow, I start writing a 3D version of Audio.h and then try calling that from the ConsoleSoundApp.

Phil 5.9.13

7:30 – 11:00 SR

  • Deployed new FA and Javadoc for VSS
  • Updated main web page to add links
  • Added current users to FA db
  • backed up everything but enh. Need to start doing that.
  • Meeting with the PIT crew
    • Add the ability to build custom, named queries instead of the dropdowns in the Funding Status screen
      • Implies column config, or something like that
      • sortable columns
      • validator for matching parens, etc might be handy
    • Anywhere a budget is entered by had, a dialog should come up when it it changed. (who, why, when, more?)
    • Switch to Budget center based table structure. This may mean that the PIT crew will have to enter all the PA data over again with the new PA.
    • Change sub projects so that there is simply a “parent id” field. Recursively search to build trees.
    • Add individual tracability to req line items
    • Funding Status
      • Common elements are in top grid
      • Unique items are in main grid
      • Queries are stored in a dropdown
      • SQL might have macros in it that cause a dialog to pop up with fields?

Phil 5.7.13

8:00 – 4:00 SR

  • Pointed the server at the new cert on the production machine after verifying that the test machine was still happy. 
  • Rolled over to the new MySQL bd. A few hiccups getting the new db loaded, but after setting the max_packet_size in the conf file to 512M, everything worked when sourced from within mysql
  • Deployed the new FA beta
  • Deployed the new VSS. And it would have taken less time, except that winzip kept timing out when accessing a network folder. Copying everything to the local disk and compressing from there worked.
  • Back to JUnit
  • Review at 2:30, possibly 1:30.
  • Updating all the various Novetta and successfactors resumes.

Phil 5.3.13

7:30 – 4:00 SR

  • Backups
  • Deployed new FA
  • Customer meeting. Dong has the list of bugs. Actually, things went pretty well. I think we’re on track for alpha deployment next week.
  • Test of DB upgrade on Integration?
    • Error saving a script. Line 589 in ScriptFacades.
  • Status Report for April
  • More Junit.

Phil 4.25.13

7:30 – 3:30 SR

  • Backups
  • Add a “create” button to FA that makes a subproject by copying over all the project information (with “sub_n”) appended to the name/id
  • Change the SOW column to say “MIPR Description”
  • Add “calculate” button for project budget overview so we don’t have to trap lots of editing events
  • Finished and tested the following:
    • getDashTemplateXml()
    • setDashTemplateXml()

Phil 4.24.13

8:00 – 4:00 – SR

  • backups
  • Installed new version of FA
  • table_dash_templates
    • name
    • xml_layout_template
    • xml_variables – gives something to iterate over
  • Nearly done. Finish tomorrow, though I have to build test classes.
  • New version of FA to bring in.

Phil 4.22.13

8:00 – 4:00 SR

  • Backups and some security updates.
  • After my thrill-packed afternoon of setting up my IDE so that I could do some work, it’s back to my regular IDE. Ah well, it’s good to keep everything up to date at home.
  • Downloading and installing the new Cygwin. No, I lied. The download stops about 33% in. Grr.
  • I had an interesting web.xml problem for the last few days that was bothering me:Description Resource Path Location Type
     The content of element type "web-app" must match 
    "(icon?,display-name?,description?,distributable?,context-param*,filter*,
    filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,
    welcome-file-list?,error-page*,taglib*,resource-env-ref*,
    resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,
    ejb-ref*,ejb-local-ref*)". web.xml 
    /VisibilityScriptingServer/src/main/webapp/WEB-INF line 5 XML Problem
  • What this means is that some of the elements are out of order. If you match the order of the elements in the xml file to the list in the error message, that completely fixes it. In my case, I had the <servlet> and the <servlet-mapping> tags associated, since that helps readability. But no, we don’t get to do that. Moving all the <servlet-mapping> tags to just before the <welcome-file-list> element did the trick. Yay!
  • Finished getUserId() and getRoleId(). Starting on updateVizTable()

Phil 4.19.13

7:30 – 3:30 SR

  • Went home yesterday to find my phone and internet knocked out. Oddly, after a Verizon reset the cable came back. Why that works and the other two don’t I have no idea. Service is scheduled between 1:00 – 5:00 so it’s either work from home or leave.
  • Backups
  • More work on changing the visibility_dev2 db on the fly.
  • Need to contact Jeremy (Shawn?) about a charge number.
  • Downloading everything so that I can work from home without an internet connection
    • Project files (zipped and workspace)
    • new xampp
    • sql db (VSS and VD2)
    • notes
    • Juno
  • Got home and put the old FIOS battery back in and bounced the system. I now have TV and internet. And literally, as I was typing this, the connection dropped out. Correlation without causation. And it’s back now….
    • Ticket: mddq03c37es
    • 12:32 – restored
    • 1:27 – down (could not find host)
    • 1:29 – restored.
    • 2:34 – down
    • 2:36 – up
    • 4:09 – down for two minutes
  • Building environment. Unzipping is really slow. And the workspace I copied over isn’t working, so I have to get my stuff from subversion, which means installing that…
  • But everything is running. And it’s 3:10. I got started around noon. Pity we can’t bill Verizon for this.

Phil 4.18.13

7:30 – 3:30 SR

  • Deployed test version of FA and new versions of PPM, PA and VSS.
  • The “Total” bug in PPM is half fixed.
  • Long discussion about FA. Our job is to determine how to work the FYear column (hopefully) into the existing database.

Phil 4.17.13

8:00 – SR

  • Backups
  • There is a Viztool review set for tomorrow from 7:30 – 9:00. Need to check with Dong about having a deploy. The Version Checker in FlexUtils45 had to be updated to pass namespaces down to the SingletonDataDictionary. Though I’m not sure that I’ve checked that in yet.
  • Is it not possible to open an unfunded project? John Anderson’s GCC project will not open in PA or in the PPM project management screen. However, when the Project->Enter Monthly Status is clicked and the same project is selected in the folowing dialog and opened, it’s possible to access. Lenny just checked, and the project is unfunded. I know that we had some additional info and locks in a previous version. But there is nothing now (March 8 2013 at 6:07 AM).
  • Fixed some bugs in VersionTracker.
  • Started working on what the visibility_dev2 data functions should be:
  • VssNewMethods

Phil 4.16.13

8:00 – 4:00 SR

  • Backups
  • Lenny found a possible math problem with PPM, where sub project allocations are not summing correctly
  • Showed Lenny how to delete incorrect project info using the DB utils
  • Working on getting VSSTestbed up and running.
    • Adding a Web project to a server is easy, though you do have to start (possibly refresh) the server to get the files deployed to the server instance
    • The only place that it seems that you can add projects to be deployed is in the Deployment Assembly dialog in the Properties. Add any jar files or projects here. Note that if you ass a project, that the system builds a jar file for you here and deploys that to the WEB-INF/lib directory. There do not have to be any classes.
    • VSSTestbedConfig

4.15.13

8:00 – 10:00, 2:00 – 4:00 SR

  • Backups,
  • Financial
  • Starting to look at the date rollover script issue.
  • Getting VisibilityScripting to run on the Eclipse server – Looks like I have to create a new Dynamic Web project and can’t retrofit that into VSS. I think this is starting to look like a tomorrow thing…