Sponsored links

Go Back   MP3Car.com > Mp3Car Technical > Software & Software Development > Front Ends > Project: CarMa


Closed Thread
 
Share Thread Tools Display Modes
Old 01-29-2009, 04:27 PM   #1
jsn
Newbie
 
jsn's Avatar
 
Join Date: Jun 2008
Location: Netherlands
Posts: 39
jsn is an unknown quantity at this point
Update 02/'09 - some more detail



Hi all!

There's a huge amount of work to do yet, but still we're making big
steps towards a really nice application.
In this post I'll try to tell something about its features (in a more technical way).

CarMa is built towards low-end hardware, but still with all modern features
and a responsive and eye-pleasing user interface.

It is ready for multi-core cpu's. Most parts are split up into background
threads already. This allows the CarMa framework to scale up seamless
to high-end hardware and make use of it efficiently.


I'll sum up a couple of my own design and coding-rules to clear up a couple
of design related-questions ahead:
keep the UI responsive (user should have the highest priority, instead of the OS f.i.),
try to keep the software low on resource/memory usage and don't fear technical
workarounds to optimize slow implementations..


Core
The core manages all subsystems like audio, database,
skinning, external events, file- and imagecache and more. It is based
on a plugin-like architecture, which allows us to change, replace or
extend certain parts easily.

The core doesn't handle external (dll) plugins as of yet. We haven't started
coding this part. Also, there's no external API yet. These are planned
for a later version, shortly after launch


Application Skins
The application allows total freedom of skinning.
A skin contain a bunch of images (PNG preferred due to alphablending),
and a bunch of XML files to describe the individual screens and popups.
Images can be any format, although the preferred format is PNG.

Each object is a separate layer, all blended nicely with each other.
It can render 100's of layers without any noticeable performance loss.
Individual layers are updated if changed only.

The skin-developer has the option to use truetype or bitmapped fonts.
Bitmapped fonts are drawn faster but fixed sized,
TrueType fonts are scalable and support anti-aliasing but slow to draw.

Note: The documentation of the available objects will be found on our Wiki pages after launch


Scripting
CarMa is completely based on scripting. If a skin doesn't contain any scripts,
it won't run either. It will probably show a nice picture, but it doesn't take
you anywhere.

We've chosen for a lightweight script interpreter based on very
simplistic Pascal language. It can process scripts simultaneous and fast.
Don't worry, it is really simple and easy to learn. Scripts to perform basic
actions will be single commands anyway.

Almost all aspects of CarMa are accessible through scripting.
Volume/sound control, file handling, GPS handling, playlist control, etc.

Note: scripting documentation will be found on our Wiki pages.


GPS
CarMa supports GPS's out of the box. It enables skins to use the
realtime GPS parameters to update screen controls.

Only serial and NMEA based GPS devices are supported.
Most consumer GPS devices output NMEA,
and almost all of the USB-based devices provide a virtual COM port to use.
You probably shouldn't worry.

Note: multiple apps accessing a single GPS device is a problem.
When an application does, it locks the COM-port exclusively.
No other application can connect or use it.
There is a solution, however. XPort can be used to share a
single GPS device to multiple applications.


Music database
This is probably one of the most complex parts of CarMa.
Due to our experiences with some of the popular front-ends,
we had a couple of important requirements. To name a couple:
it has to be crash-proof, redundant, auto-recovery,
fast loading/saving/indexing, must support huge amounts of data, etc.

We evaluated and tested a handful of database engines, but in the end,
We chose memory-tables, and implemented the extra requirements.
The DB is fast, extremely compact, secure and crash-proof.
If there's a power-outage, an application crash or a Win-crash,
no data will be lost- and will resume from the last state before the crash.


Library browsing
CarMa provides a couple of filters to browse through the music collection.
These filters allow the user to browse the library in a logical way - Via ID3 tags
E.g.: by artists, by albums, by genre or year, etc.


Playlist selections
No-Tec already wrote some about the playlists.
These playlists are user-selected or dynamically chosen by the system.
If the user wants, CarMa can try to select music based on the listening
statistics and ratings.



As you can see, a lot of work has already been done, but a lot of work
still needs to be done. In the end, it will be a very nice addition to
your CarPC we think!

And of course we're open to questions and suggestions!
We are more than happy to answer them.
Suggestions and requests can be left at the other topic.


Thanks for your patience!
jsn
__________________

Last edited by jsn; 02-06-2009 at 12:50 PM.
jsn is offline  
Advertisement
 
Advertisement
Sponsored links

Old 02-06-2009, 06:20 AM   #2
Low Bitrate
 
Join Date: Sep 2006
Location: The intarwebs
Posts: 83
tominated is an unknown quantity at this point
wow that looks nice! I'd love to be in the beta if possible!
__________________
Planning {[][][][][][][][][][]} 100%
Funding {[][][][][][][][][][]} 100%
Construction {[][][][][][][][][][]} 60%
tominated is offline  
Old 02-06-2009, 01:07 PM   #3
jsn
Newbie
 
jsn's Avatar
 
Join Date: Jun 2008
Location: Netherlands
Posts: 39
jsn is an unknown quantity at this point
Hi tominated,
Thank you for your reply!

A bit about beta testing.
The application is not ready for testing yet. We will announce this when we think it is up to it.
Unfortunately this will take another couple of weeks, but as said before, it's more of a moving target.
Some problems/solutions still have to be researched.

We're thinking about a beta qualification test.
You probably shouldn't worry, a very small amount of technical knowledge is a big plus. (f.i. editing xml, looking into log-files, etc)
We just want the first group to give clear reports if there is something wrong.
The exact requirements, or procedures, for beta testing will be put online when we're ready.


We want to give you the best experience ofcourse!
__________________
jsn is offline  
Old 02-06-2009, 01:57 PM   #4
Variable Bitrate
 
dhantiflag's Avatar
 
Join Date: Nov 2006
Location: Mentor, OHIO
Posts: 363
dhantiflag is an unknown quantity at this point
mark me on that list also, been following this project when you first announced it was in C# because im a C# developer... still looks great even tho you switched. but id be very happy to help test!
dhantiflag is offline  
Old 02-06-2009, 02:24 PM   #5
jsn
Newbie
 
jsn's Avatar
 
Join Date: Jun 2008
Location: Netherlands
Posts: 39
jsn is an unknown quantity at this point
Hi dhantiflag!

Cool, more and more people tracking this project.
We will make notice of ppl wanting to test, but details come later.

C# was indeed a candidate. We carefully looked at the pro's and con's of each
development environment. Both can be easily applied, but in the end, Delphi won.

The reason was simple; we already have a very developed 2D rendering engine,
fast databases and it just starts way faster after a clean system boot.
Although Delphi is slowly fading away from the development scene, we still think
it provides us the best solution for this particular project.
__________________
jsn is offline  
Old 02-06-2009, 09:45 PM   #6
Newbie
 
Join Date: Nov 2008
Posts: 3
criptic is an unknown quantity at this point
obdII support would be soo nice
criptic is offline  
Old 02-10-2009, 10:47 AM   #7
Newbie
 
Join Date: Dec 2007
Posts: 13
DiggGuy is an unknown quantity at this point
Put me down as well. Using rr at the moment but I'm very interested in this and have a pretty heavy programming background so I'd be interested in testing and giving input. Never used Delphi before but reading through some documentation on it, I may switch a couple of my custom apps over to it.
DiggGuy is offline  
Old 02-10-2009, 10:53 AM   #8
Newbie
 
NoTec's Avatar
 
Join Date: Jan 2009
Location: South Florida
Posts: 38
NoTec is an unknown quantity at this point
Digg Guy, that's great news. We're definitely going to be looking for contributors for plugins once we release a public build. We will add you to the list.
__________________
No-Tec.com: Private Portfolio
NoTec is offline  
Sponsored links
Advertisement
 
Advertisement
Old 02-10-2009, 04:17 PM   #9
Variable Bitrate
 
dhantiflag's Avatar
 
Join Date: Nov 2006
Location: Mentor, OHIO
Posts: 363
dhantiflag is an unknown quantity at this point
can't wait for more pics!!
dhantiflag is offline  
Old 02-10-2009, 05:18 PM   #10
jsn
Newbie
 
jsn's Avatar
 
Join Date: Jun 2008
Location: Netherlands
Posts: 39
jsn is an unknown quantity at this point
Delphi is not really needed to interface with CarMa!
We will try to implement a couple of methods to interface with the application.

One viable method could be using a built-in webservice.
This is compatible with the .NET framework.
A plugin can be an application consuming this webservice to control a lot of aspects.

Another viable method is using DLLs and interfaces.
These plugins conform to a certain interface which the application knows how to access.
A special callback interface will then be available from within the plugin.

A third method under consideration will be using 01d-sch001 API calls.
Although the 2 mentioned before will be prefered. (Personally, I don't think there is any need
for this, but who knows)

And ofcourse, we will listen to your suggestions too!


Anyway; I should get back to work
__________________
jsn is offline  
Old 02-15-2009, 03:35 AM   #11
Newbie
 
Join Date: Oct 2006
Posts: 37
tjbrewster is an unknown quantity at this point
Thumbs up

I'm really liking this skin...You guys are doing a great job.
When you get through with the beta testing with the guys that have experience with programming and scripting ect....Are you going to open it up to non tech guys for a smoke test? I've been told with enough time I can destroy an anvil. I'd like to help though. When you start the open beta I'd love to try it out as a non tech user. I might be able to look at it from a different perspective. All I need is HD radio, GPS, and MP'3 to be happy
Keep it up this skin is really looking professional.

TJ
tjbrewster is offline  
Old 02-15-2009, 11:02 AM   #12
Newbie
 
NoTec's Avatar
 
Join Date: Jan 2009
Location: South Florida
Posts: 38
NoTec is an unknown quantity at this point
tjbrewster, for sure we are going to open it up for public beta. audio, video and gps are at the top of our list but radio, xm, serius, and all that stuff isn't quite just yet. We will definitely have it down the road though. Thank you for the compliments though, we appreciate it.
__________________
No-Tec.com: Private Portfolio
NoTec is offline  
Old 02-15-2009, 11:28 PM   #13
Newbie
 
Join Date: Nov 2008
Posts: 13
victornet is an unknown quantity at this point
sugestion: dont forge to suport mkv extension for videos
victornet is offline  
Old 02-23-2009, 04:20 PM   #14
Low Bitrate
 
Macflurry's Avatar
 
Join Date: Dec 2005
Location: Redditch
Posts: 82
Macflurry is on a distinguished road
How's it looking guys??
Macflurry is offline  
Old 02-23-2009, 04:28 PM   #15
Newbie
 
NoTec's Avatar
 
Join Date: Jan 2009
Location: South Florida
Posts: 38
NoTec is an unknown quantity at this point
We have finished all of the audio/playlist/music portion of CarMa but now we are just spending the next week or so picking out all of the bugs and trying to get all of the kinks we can find in just this area. This is the biggest application that JSN and I have ever worked on so there is a bit of a learning curve and rewriting to do.

So yes it is taking a bit longer than originally anticipated but in the end it will be for the better and help progression move more smoothly.

We appreciate the continued interest though mate.
__________________
No-Tec.com: Private Portfolio
NoTec is offline  
Sponsored links
Advertisement
 
Advertisement
Closed Thread

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Chuck's Skins lots of pics Update 7-16-07 Chuck RR Released Skins 289 03-25-2009 07:06 AM
Centrafuse 1.45 Update veetid Centrafuse 59 12-13-2007 10:27 AM
Update gone bad? mangus580 StreetDeck 26 12-12-2007 09:10 AM
Centrafuse 1.44 Update veetid Centrafuse 22 12-08-2007 05:59 PM
XM update song rjoek Road Runner 6 08-06-2005 02:01 AM



All times are GMT -5. The time now is 03:51 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.2
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics