SyntaxHighlighter

Tuesday 25 June 2013

Day 12: Katy

Meet Katy

Downloaded all the drivers from the Dell website, downloaded installers for any useful-looking software, copied off all data we want to keep.... sure enough it's time to upgrade the old XP machine to Windows 7. Of course such a faithful vessel requires a new name to go with the new look, so say hello to Katy!

Katy started off as a simple Dell Workstation T3400 (standard issue University fare) with an E7300 at 2.66GHz, 2GB of RAM, no graphics or motherboard or anything interesting to speak of. But at some point Katy got bumped up with a new PSU and a legendary 8800GTX GPU (fastest card known to man when released in 2006, and maintaining that title for over a year) providing graphical prowess and dual video output ports with which to connect to a big TV for the AR. The new PSU was actually a necessity, because the power draw of the 8800GTX is far too much to think about (most power hungry card known to man when released in 2006, and maintaining that title till today).

I couldn't update the actual AR code and test it until Katy was ready for action, so I spent the time preparing and researching: downloading 3DS Max, preparing a USB drive for a 64bit install of Win 7 (for Donald and the new AR laptop), and researching sound, GUI's etc alongside installing everything on Katy - plus getting 123D Catch.

Used 32 bit Win 7 for Katy, 64 bit wasn't ready and isn't really necessary with 2GB of RAM.

Installed the following and copied the ARdemo code over.
  • ALVAR
  • Autodesk 3ds Max 2013
  • MS Office
  • Blender
  • MS Visual Studio Express 2012
  • MS Visual Studio Express 2010 (after realising XNA 4 doesn't support 2012.. duh)
  • XNA 4.0
  • OpenCV
  • 123D Catch
  • All the drivers and stuff

Sound in XNA 4

After some research, I found that in the new version of XNA sounds are managed in a very simple "load and play" manner similar to textures. This would be large improvement over the current (somewhat cumbersome) method that is being employed.

For this reason Katy will get XNA framework 4.0 (the latest version before it was discontinued) which also requires Visual C# Express 2010. The version the AR demo currently runs on is 3.1 with Visual C# Express 2008.

I presume the code will work fine on the new software, but of course I will test the functionality once it is up and running.

Method for using sounds in XNA 4.0:
  1. Load sound file into Content as normal (add -> existing item)
  2. Change its properties to use "SoundEffect - XNA Framework" content processor
  3. Declare SoundEffect variable corresponding to the sound (global variable somewhere above)
  4. Initialize in LoadContent(): Content.Load("soundname")
  5. To play it use soundname.Play();
Using a raw SoundEffect as listed here means that you can't actually do much with it except play the whole thing (and set volume, distance and doppler effects etc). Not useful if we want to do more advanced stuff like stopping playback if the model disappears or managing the playing and pausing and playing of a longer sound file for background music or something.

So we make a SoundEffectInstance which can be played, paused, resumed and stopped. You can apply panning and pitch and a 3D position, as well as adjust volume etc. The instance is created from a SoundEffect using SoundEffect.CreateInstance()

Plan at the moment:
  1. When guitar model is displayed, start playing guitar music. If it's gone for long enough stop playing.
  2. When spaceship flying through hoop model is displayed, start fire sound effect. Stop when its gone. Perhaps have engine noises.
  3. ..?
From there we can add interactive features, like changing tunes on the guitar from a keypress, etc.

Will also allow adjustment via the GUI.

New dynamic models need to be done too.

123D Catch

Autodesk's new software that allows a 3D model to be generated from images of a static object taken by a camera that rotates about it. I installed this on Katy after Windows 7 and everything else was all done.

Anyway, full testing of 123D catch shall be done asap. The current idea is, if it works quickly and easily great, if it doesn't then sack it in favour of more pressing things.

Donald

All the parts arrived and the unboxing commences! Today I was about to tear out the hard drive from old Donald to save some data, thought I'd hit the Power switch just for the sake of it, and was subsequently completely dumbfounded when it started up like nothing was wrong. Yep, after being lifeless for so long Donald just decides he's up for it and turns himself on without a care in the world, such nerve...

No issue though, I copied 160GB of data off Donald's drive onto a lovely new 1TB external USB 3 disk to ensure no important data is lost off Donald. That includes ALL user files, and everything off the secondary partition (which seems to be 60GB of pictures of hands).

Tomorrow I'll perform the transplant and Donald should have a new processor motherboard and RAM, Katy will get about 4GB (or was it 2?) extra RAM, and as a result of it all we will have:
  1. a fully working Core 2 Quad Q6600 processor
  2. a pretty valuable large Thermaltake CPU cooler, and
  3. a not so fully working P5N-E SLI motherboard.
The processor and cooler can actually be transplanted into Katy if Toby so desires. Katy currently has a Dual core 2.6GHz, Donald's CPU that will be spare is a Quad Core 2.6GHz from exactly the same generation so it will be some improvement if not massive.

Z500

New AR laptop has hopefully been ordered today, it will come with Windows 8 pre-installed so I'm planning to dual boot Windows 7 on it. Although there is a good chance that the software we need for AR will still actually work on Windows 8, as they are very similar operating systems at the core so I'll discuss this with Toby later on (i.e. the reasons for sticking with Windows 7 and whether we actually need to). To be perfectly honest there is bound to be some important software that doesn't support the new OS, so in preparation here is the method of completing the dual boot:

No comments:

Post a Comment

Note: only a member of this blog may post a comment.