Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: Update 02/'09 - some more detail

  1. #1
    jsn is offline
    Constant Bitrate
    Auto Apps:loading...
    jsn's Avatar
    Join Date
    Jun 2008
    Zoetermeer, Netherlands

    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..

    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

    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.

    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!

  2. #2
    Low Bitrate
    Join Date
    Sep 2006
    The intarwebs
    wow that looks nice! I'd love to be in the beta if possible!
    Planning {[][][][][][][][][][]} 100%
    Funding {[][][][][][][][][][]} 100%
    Construction {[][][][][][][][][][]} 60%

  3. #3
    jsn is offline
    Constant Bitrate
    Auto Apps:loading...
    jsn's Avatar
    Join Date
    Jun 2008
    Zoetermeer, Netherlands
    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!

  4. #4
    Variable Bitrate dhantiflag's Avatar
    Join Date
    Nov 2006
    Mentor, OHIO
    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!

  5. #5
    jsn is offline
    Constant Bitrate
    Auto Apps:loading...
    jsn's Avatar
    Join Date
    Jun 2008
    Zoetermeer, Netherlands
    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.

  6. #6
    Join Date
    Nov 2008
    obdII support would be soo nice

  7. #7
    Join Date
    Dec 2007
    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.

  8. #8
    Constant Bitrate NoTec's Avatar
    Join Date
    Jan 2009
    South Florida
    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.

  9. #9
    Variable Bitrate dhantiflag's Avatar
    Join Date
    Nov 2006
    Mentor, OHIO
    can't wait for more pics!!

  10. #10
    jsn is offline
    Constant Bitrate
    Auto Apps:loading...
    jsn's Avatar
    Join Date
    Jun 2008
    Zoetermeer, Netherlands
    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

Page 1 of 3 123 LastLast

Similar Threads

  1. Chuck's Skins lots of pics Update 7-16-07
    By Chuck in forum RR Released Skins
    Replies: 297
    Last Post: 11-10-2011, 08:22 PM
  2. Centrafuse 1.45 Update
    By veetid in forum Centrafuse
    Replies: 59
    Last Post: 12-13-2007, 10:27 AM
  3. Update gone bad?
    By mangus580 in forum StreetDeck
    Replies: 26
    Last Post: 12-12-2007, 09:10 AM
  4. Centrafuse 1.44 Update
    By veetid in forum Centrafuse
    Replies: 22
    Last Post: 12-08-2007, 05:59 PM
  5. XM update song
    By rjoek in forum Road Runner
    Replies: 6
    Last Post: 08-06-2005, 02:01 AM


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts