WOW... I had no idea people were replying to this topic. I guess I must be using an old email address for mp3car, cuz I know I subscribed to this thread..
Anyway, I just wanted to post that for now... I'm going to read through all the posts and reply to each one of them.
Again, I'm sorry for the delay.
Currently, I'm using Ride Runner with the DigitalFX 4.0 skin, and I must say, tailoring/customizing it to fit my needs is no where near as intuitive as I'd like it to be. I still can't even get IGPause to work consistently (sometimes the carPC's volume spikes whenever any sound comes out of iGuidance). I also can't click on many of the options that I haven't implemented yet (e.g. camera, weather, and even the iGuidance menu shortcuts) because then RideRunner will crash or go into some sort of infinite loop.
My idea is to write everything (excluding the navigation) from scratch, so I know exactly what's going in, what's coming out, and to achieve that as efficiently as possible.
I'm currently a computer science student (graduating in May). I've learned C++ (including OpenGL), Java (including synchronization), and I've just started dabbling in C# and the Windows API.
Your project looks very promising, by the way.
The player needs to build custom graphs anyway, if you want multi screen and multi sound card support. By default Directshow will render to the default video and audio outs only.
And it looks like the front end will most probably happen, I have officially drawn up a project plan for it. .NET, C#, WPF and XAML, with some custom skinning and management support. :)
openMobile is a modular C# based front end, all GPLv3 (open source) and can be 100% customized. You could use as much or as little of whats included as you like or do everything from scratch and it still all works together. Its also the first front-end with multi-screen support (aka more then 2) and multi-soundcard support (again more then 2)...we actually support up to 99 of each.
kapone was under the impression this was all a waste until a PM discussion apparently changed his mind, he gave the technology a try and now loves the idea (for his own front end). If your interested I could post a small demo video of the latest version of OM and you can see if your interested. We always welcome new skinners and developers and will try to help you create whatever your interested in.
As far as my "own" front end...we'll talk. I wanna pick your brains on that.
idk...I mean as of right now multi-screen is a very hobbyist-centric feature-no argument there....but think about the potential market. Just about every minivan or family SUV these days comes with a rear seat entertainment system. Is it really that big of a leap to take that (relatively) huge rear screen and link it to the front headunit? Now the kids have access to whatever movies or music are stored on the forward harddrive, web browsing, maybe even games.
But yea....well talk.
(Let's assume, the driver is me, in a vehicle with a multi screen system, with adults in the back).
Me: Let's hit the road folks!
Them: Hey Kap, how do we watch something on this nice screen here?
Me: What do you wanna watch? I'll put it on.
Them: What do you have?
Me: Here, I'll bring up the Movies screen, and you tell me what you want.
Them: Bbbbut...dude, that front screen is too far for me to read the movie titles!
(me grumbling...reading out movie titles, and them finally settling on one)
Me: Here ya go!
(They start watching the movie...or something)
(After a few minutes...)
Them: Nah, this movie aint that great, what else you got?
Me: Oh, for cryin out loud....
<Go back to step 1>
:) You see where I'm going with this. Now, compare this to having a distributed architecture, either with multiple PCs, or a single PC with extender type devices. With Windows 7 and homegroups, hell, a second PC is almost an extender anyway, and you can "Play to" the rear PC, from the main PC, OR they can just pick up a remote (from the rear armrest) and do their thing. With homegroups, all libraries are shared anyway, so there's no content sharing issue (other than protected HDTV content, but that's a whole different animal).
My point is that, there may be advantages to NOT having a monolithic PC architecture, but having (potentially) smaller PCs in a distributed architecture.
It's a technique we call input routing in openMobile but theres dozens of names for it depending on which software is advertising it and the technique they use.
For example, say you have two touch screen monitors. They can be setup so that its one monolithic frontend with a shared media database but each user is doing separate completely isolated tasks on their screen. You could be navigating or listening to the radio up front....and the rear user can be browsing movies in the back. Then when its the little kids in the car, you press the rear screen control button and you pick for them from the front...best of both worlds.
We call it input routing because each screen can be controlled from a multitude of devices like a touch screen, keyboard, powermate, remote control, gamepad even a wireless xbox controller and the input is routed so that each user only controls their screen.