Jeg var lige ved at lave en settings dialog til SharpMedia (Endelig!). Der stødte jeg på et sært problem. Man kan markere Main funktionen af et Windows Forms Program til at være Single Thread Apartment [STAThread] eller Multi Thread Apartment [MTAThread], hvor MTA er standard. De to forskellige modes har noget at gøre med COM interkommunikation, men vigtigst af alt virker standard dialog boksene som FolderBrowserDialog og SaveFileDialog kun hvis tråden er markeret som [STAThread].
Det gør jeg så men finder hurtigt ud af at det faktisk ikke virker. Selv med den fine attribut på min Main funktion skrives der MTA i konsollen når jeg kører dette:
[STAThread]
static void Main(string[] args)
{
Console.WriteLine(Thread.CurrentThread.GetApartmentState().ToString());
}
Det mysterie fik jeg aldrig løst. Jeg fandt dog en workaround, lav en ny tråd, SetApartmentState(ApartmentState.STA) og kør den. Det er grimt og jeg accepterer det kun fordi jeg bare bruger tråden til at starte en settings dialog boks op.
felizk Programming
Jeg sad lige og kunne ikke hjerne projekt igår eftermiddags. Så kom jeg i tanke om at min kammerat Søren havde nævnt at Vista Speech Recognition faktisk ikke var så ringe endda.
Så jeg brugte en times tid på at sidde og lære hvordan man bruger sådan noget og det er RET smart. Dog ikke helt smart nok!
For eksempel virker det ikke korrekt i MSN Messenger uden at man slår noget der hedder Dictate Everywhere til. Så jeg tænkte: “Hmm, hvad nu hvis man kunne kode til det her, så kunne jeg lave en Star Trek Konsol kontroller til Media Center“!
Og det kan man, og det er hamrende nemt! Jeg har lavet et lille program der reagerer på “COMPUTER!” med et bip og så kan man sige red, green eller blue til den, eller stop for at få den til at holde op med at lytte.
Planen er at lave så jeg kan sige computer pause video mens man sidder og ser sager. Eller computer next song!
Kig den her, og prøv selv at smide en mikrofon på og gå i Vista Speech Recognition hvis du har en times tid
Download: SpeechRecognition
felizk OS, Personal, Programming, Tips
Bare lige for at dokumentere at jeg ikke er gået helt i stå med Vista Media Center programmering selvom vi er ved at have travlt med projekt:
Her er lige et screenshot af mit plugin til VMC, det er en direkte tilkobling af min SharpMedia importer og database (jeg har endda tilføjet filerne til projektet som links). Herfra og til at få den til at afspille medierne er der ikke vildt langt, det største stykke arbejde ligger selvfølgelig i at tæmme MCML. Dog er der noget vej endnu til dette plugin er ligeså vildt som SharpMedia
En sjov ting jeg stødte på: Add-Ins til VMC er ikke særlig gode til Multithreading. Jeg sidder og mangler en Invoke funktion som kendt fra Windows forms. Men jeg kan da slippe uden om det, omend det ikke huer mig at interfacet bliver lidt sløvere af det :X
Update: Hah! Den er godt gemt. Fordi en add-in’s hovedklasse som standard hedder Application gik det ikke lige op for mig. Men man kan kalde den statiske funktion DeferedInvoke på Microsoft.Mediacenter.Ui.Application klassen
felizk Programming, Vista Media Center
Jeg faldt lige over den her på Ziggyware. Kyle har lavet et eksempel på hvordan man bruger wmv og mp3 filer i XNA 3.0! Det kunne vi godt have brugt da vi lavede Mass Salvation, 50mb wave musik filer er ikke lige helt optimale
felizk Programming
As promised, the XNA team has implemented Zune compatibility in XNA Game Studio! This Community Technical Preview has Zune version 1 and 2 compatibility for 2D games, but the CTP cannot deploy Xbox360 games.
However, XNA for the Zune features access to the users music and Zune ad-hoc wireless network play! It also shows some of the new features to expect in Game Studio 3.0 like:
- Visual Studio 2008: (Actually, Visual Studio 2005 compatibility is gone for 3.0, but 3.0 can coexist with 2.0)
- Better Sound API: The content pipeline allows wavefiles to be added directly to the content project (without all the XAP fun)
All in all this release is a sneak preview of whats to come this Holiday season 2008 and something for the Zune owners to play around with
Get it at creators.xna.com.

felizk Programming
Puha, lidt sent på den her, men havde jo lige orka
Anyhow, vi afholdte Filofil Workshop her sidste lørdag, og det var meget vellykket! Vores idé med at kopiere Nordic Game Jam og dele folk op i grupper for at lave et par fælles projekter var et hit! Folk snakkede mere med hinanden og det synes jeg var mega cool.
Næste gang vil vi fortsætte på de spil vi har fået sat gang i og evt. sætte et par flere i gang hvis der dukker nye/andre folk op. Mht. næste gang, vil det formodentlig gå af stablen lørdag d. 7 Juni. selvom vi ved at mange folk på det tidspunkt vil være godt igang med eksamener.
Sidst men ikke mindst, mange tak til Rasmus Boserup for hans meget spændende fremlæggelse om game design. Han har desuden nogle billeder af arrangementet og flere informationer for dem der er interesserede på hans blog Designosis.net.
felizk Filofil, Personal, Programming, Spil, XNA