Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: New environment for linux

  1. #1
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48

    New environment for linux

    I'm considering and attempting to gauge the level of interest in writing a new "environment" for linux. Here's what it should do:

    1. Basic menu interface over an extremely simplified window manager (perhaps evilwm)

    2. Plugin-based, to allow 3rd party plugins to override nearly any feature.

    3. 3D menus plugin - something similar to beryl without the rotating cube effects and such. Maybe a 3D flaming background of an active engine, with rotating menu icons. Possibly also animating all menu context switches. Note this is only a plugin - there should also be a basic 2D menu plugin.

    4. Native GPS capability via a plugin - Come on, we're on a 7" LCD touchscreen (well, most of us), we need a custom GPS application, not something designed for a fine pointer like a real mouse.

    5. Media playback plugin

    6. Voice activation input plugin (Ok, in this case I'm looking for help in the form of a 3rd party plugin)

    7. Cell phone plugin

    The general interface would be similar to the MythTV interface, except it would use mouse (touchscreen) input rather than keyboard / remote control input.

    I'm hesitant to simply call this a frontend because it does more than wrap a bunch of applications in menus - it will in some cases be doing some complex application work. Therefore I'm more inclined to call it an "environment."

    Also of note - I see there are other solutions, like Velocity. Honestly, when I saw Velocity, I was wondering if there was a point to doing anything else, and possibly going into writing plugins for it... until I realized that it was restricting itself to the capabilities of flash. The way I see it, that eliminates the 3D menus or any other 3D plugin, and possibly other 3rd party plugin ideas. Therefore, I'm pushing this forward as an alternative idea.

    This environment would be written in C++ with Qt 4.x. I'm open to the idea of keeping this project cross-platform (C++ and Qt work on nearly everything), but I suspect some functions would be a royal PITA to implement cross-platform (like v4l (radio) support, GPS support, etc... the 3D menus should work on anything, but I can't go much beyond that).

    Please note, I am only trying to gauge whether or not to begin this project - not a single line of code has been written. If I do begin, it will be under the GPL for all Qt-specific code sections, and under the BSD license for anything clear of the Qt taint (In other words, it will be free and open source).

  2. #2
    Newbie
    Join Date
    Apr 2007
    Posts
    2
    Dude that sounds like a great idea...

    I was thinking of doing the same thing, but my qt is not that good...

    Let me know how it goes...

  3. #3
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48
    Ok, I've decided to proceed with this project.

    I've written the most of basic framework, at least to the point where it should be possible for people to start writing plugins. I've included several sample plugins as placeholders (they load to the main framework, but until some code is written, that's all they do).

    I'm calling it evilcpc (Evil Car PC). I've submitted the project to sourceforge for hosting a few minutes ago. If you're really interested in looking at what's going on, I'm running a subversion repository for the code, reachable at *moved (see below)*. If you're not that good at Qt, it's pretty easy to pick up (assuming you know OO concepts reasonably well). You can find some good documentation on their site

    Right now, I'm just focusing on the framework. All the real work will be done with the plugins.

  4. #4
    Maximum Bitrate nasa's Avatar
    Join Date
    Aug 2006
    Location
    PA
    Posts
    721

  5. #5
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48
    No, I had missed that. However, I can see that a lot of what I'd want to do would be very difficult under that environment, at least on the 3D side.

    The trouble with SDL is that it's either 2D or 3D - nothing in-between. If I were to attempt to modify nghost to be 3D, I'd have to start from scratch on all the various widgets. Under Qt, I could work in 2D and 3D at the same time by taking control of the protected paintEvent() function of my QGLWidget, outputting all my 3D stuff, then slapping my 2D stuff on top.

    I may be interested in helping him out with his plugin architecture difficulties (I have written several plugin-based projects, using ldopen (unix), lt_ldopen (libtool), and Qt plugins). I may then be interested in contributing a few plugins... but if I want the flashy 3D stuff it would probably be easier to work with under Qt (Though I don't particularly like the GPL - I prefer BSD myself, which SDL allows for).

  6. #6
    Newbie
    Join Date
    Apr 2007
    Posts
    2
    Keep us up-to-date...

    I would love to you a very pretty linux based system....

    And have a look at the code...

    I had a look at the code for headunit, but it is very difficult to read, so if you could comment a lot, and give ppl ideas of what you doing.

    Cause then you can have ppl, modifying the code and submitting the code to you,
    so that you can include it into the project...

    This can be a really nice system... and can easily be ported to windows/mac... so then
    you can have an even bigger user/suggestion base...

    KEEP UP THE GOOD WORK!!!

  7. #7
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48
    Yeah, I was intending to write API documentation when SF accepts the project, but I can get a head start on it earlier. My priority will of course be plugin documentation, to allow people to write plugins as soon as possible.

    For the most part, the code is ultra simple and self-explanatory... it's just spread across many files. Because of its simplicity, I didn't see much of a need for comments, but I definately see the need for documentation.

  8. #8
    Raw Wave shotgunefx's Avatar
    Join Date
    Apr 2005
    Location
    Boston, MA
    Posts
    1,800
    Quote Originally Posted by kshots View Post
    No, I had missed that. However, I can see that a lot of what I'd want to do would be very difficult under that environment, at least on the 3D side.

    The trouble with SDL is that it's either 2D or 3D - nothing in-between. If I were to attempt to modify nghost to be 3D, I'd have to start from scratch on all the various widgets. Under Qt, I could work in 2D and 3D at the same time by taking control of the protected paintEvent() function of my QGLWidget, outputting all my 3D stuff, then slapping my 2D stuff on top.

    ...
    I've been working on a Perl/SDL Music/Dash front end Auto-DAC for awhile now.

    SDL is nice, one thing that hurts for an app like this though is the lack of widgets. I've heard some people have mated WX to SDL for a best of breed solution, but I haven't experimented with it yet as I don't have the time at the moment.

    When I was having problems with the Perl bindings not keeping up with the SDL releases, I started looking at QT, but I was able to patch the issues that were occuring, though if I hit any more major roadblocks, I may very well go that route.

    I haven't experimented with the OpenGL aspects yet, but it's on the todo as I have a nice 3d model of my car that I want to use with the OBDII side of things. I've not heard that in SDL 2D and 3D were mutually exclusive, I've actually read several places that if anything, it's faster due to hardware acceleration. Am I missing something?

  9. #9
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48
    I've started putting in plugin documentation. You can find it here. Note that it's a work in progress, and that I'm focusing exclusively on the plugin documentation at the moment. Currently the input plugin documentation is nearly complete, and the other docs should follow shortly.

    EDIT: For the most part, the plugin documentation is now complete. This does not mean that the interface is complete - I note at least some missing functionality in the menuing system (something to feed in menu items), and there may well be more. At this point, I am open to ideas of what each plugin must implement, to be placed into the interface.

  10. #10
    Newbie kshots's Avatar
    Join Date
    Mar 2007
    Location
    florida
    Posts
    48
    Quote Originally Posted by shotgunefx View Post
    I've not heard that in SDL 2D and 3D were mutually exclusive, I've actually read several places that if anything, it's faster due to hardware acceleration. Am I missing something?
    The issue with SDL is that it's difficult to work with the OpenGL context window using 2D widgets. It's solid and very fast if all you're doing is 3D (and hence an excellent choice for gaming), but I find it very difficult to make decent 2D/3D applications with it.

    An example would be a 3D model editor. You would run into at least two problems with SDL on such a project - only being able to have one context (and one window), and just widgets in general.

Page 1 of 2 12 LastLast

Similar Threads

  1. Streetdeck Dev. Environment Question
    By AznArkitekt in forum DigitalMods (Scripts / API)
    Replies: 8
    Last Post: 04-02-2007, 06:06 PM
  2. Replies: 10
    Last Post: 03-19-2006, 03:37 PM
  3. VB 6 Data environment
    By Gobby in forum Coders Corner
    Replies: 3
    Last Post: 11-25-2005, 08:47 AM
  4. Replies: 0
    Last Post: 06-28-2004, 09:54 AM
  5. Car Environment Temperature vs LCD screen, PC??
    By dekodan in forum General Hardware Discussion
    Replies: 4
    Last Post: 08-01-2001, 02:46 PM

Bookmarks

Posting Permissions

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