suggestion if I may,
Anyone think about using sqlite or mysql for indexing the backend? Perfernces, music, file etc... indexing makes things faster to have the info index.
Just a thought.
I've been working on something that sound's like what your asking for. When linux starts it opens up some daemons and then starts a gui. (gui is not any where near complete) The gui is just basicly and xml document defining screens and buttons and actions for those buttons and the image to use for the buttons. It uses directfb so there is no X windows to install.
By the way I've been reading this forum for several months now (and now I finally decide to join in) and this place totally kicks some major ***.
Yes! I am using sqlite on my prototype. I use an in-memory DB at the moment, read from a flat file at startup. Makes searching, etc. much easier, and it is fast.Originally Posted by DigitalExpl0it
Originally Posted by LavaJoe
oh nice, thats the way it should be. Does the app index everytime it loads or will you have to do it manually or once a week, etc...
As always, whenever anyone has an idea, its already been doneOriginally Posted by Shotty
Its a daemon that plays music, you just connect to an ip and port, and tell it what to do.
Its pretty sweet, I almost used it myself, but I ended up using cajun instead.
It has many frontends, command line ones with tab completion, gui xmms-like ones, web browser one, you name it Hell, you can even telnet to it and control it like that
stupid quote # 1 : "i dont do drugs , i only ever smoke pot when i'm coming down" , Me , 6 september , 2001.
Every time the app runs, it populates the in-memory DB from the index file, so as long as the file is up to date when you start up, you are good...Originally Posted by DigitalExpl0it
A disclaimer:Originally Posted by pkg
I'm not running a Linux front end (yet), but I do know my way around software and Linux.
I've done a lot of data parsing work, loading things into this format, that format, in various programming languages, etc. Are you planning on parsing, manipulating, screening the input (file paths, id3 tag fields, etc.) while you load or are you just going to trust the input? How much control and feedback do you need over the loading process while it runs? Think about it for a bit. I've got mp3s that I "auto-tagged" with cddb/freedb and they have junk characters in the id3 tags. I'm slowly getting them out, but passing these characters to your sqlite db then later on to your UI could cause problems.
- If you was doing this and I had to do significant parsing, screening, checking of the input, I would not do it in C/C++. Obviously it can be done and sometimes it's the right choice, but I'm lazy and would prefer to have it done and work on something else. I also don't like writing parsers (or lots string manipulation) in C when I can whip something up in Perl (insert today's popular scripting language here). Perl (and others) have great text processing and surely have sqlite bindings for the language. This leads to more of a "just kick off this script and let it run" type of solution. It also means you've got one more piece (the script file) to keep track of on the installed machine.
- If the loading process is really just about taking the input as is, the you should integrate it more into the main app as a function call in C/C++. The advantages here is that there's no extra requirement for another language runtime on the installed machine, no extra script file to install and keep track of, and you can probably get progress/control the (sometimes) long loading process a bit better.
Of course, the advantages and problems I listed for each implementation aren't absolutes, you can certainly get progress/control a perl script from C pretty well, it's just that it's one more thing to do. You can also write advanced parsers in C/C++ and do all kinds of great pointer arithmetic, but it's really, really, simple in a scripting language like Perl that has regexp as a built-in.
Status: VM GTI sold, got out of the CarPC tinkering hobby, but I still think about getting back in.
I would agree to a point about parsing in C/C++, except using Qt (especially things like QString and QRegExp) make parsing pretty hassle-free.
By the way, when I get a few things polished, I'm planning on releasing the source code for Silverwolf. It uses modified versions of mpg123 and xine for mp3 and video playback, tv tuner, etc. The frontend is written entirely in C++ with heavy use of Qt and some KDE and aRts bindings for things like spectrum analyzer displays. When I release the code I'll try to make it as generic as possible (and include more comments )
Silverwolf 2 is dead.
I first make an index file, which has one song per line. This is done in Python, and it runs my my home machine when I need to update it with new music.Originally Posted by pkg
The index, along with the music, gets synced to the car system, and when the music browser launches, Python code reads the index file into sqlite.
The code is here: