Sponsored links

Go Back   MP3Car.com > Mp3Car Technical > Software & Software Development


Reply
 
Share Thread Tools Display Modes
Old 06-08-2009, 08:22 AM   #1
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
Why you should develop your plugin for nGhost3

nGhost3 is in current development: the SDK is making great progress, nGhost3 has a unique, innovative design. These are a few reasons why you should stop developing for that old, non-innovative, non-free frontend, and write it for nGhost3 instead. Check out the nGhost3 on-screen-keyboard test example:


nGhost v3 OSK demo
You need to upgrade your Flash Player

nGhost3 is unique
uniqueness doesn't equal better, but in this case, it does. nGhost3 is not a frontend like RR, CF, SD, it's a complete mobile framework. It runs on Linux and Macs, and it looks awesome! That's why it's better to write for nGhost3 than it is for the other three.

One more, because nGhost3 is Linux based, it runs on everything that Linux runs on. nGhost3 is not only targeting your carpc, but also smart phones and other mobile devices. This means your plugin has multiple avenues to get users.

nGhost3 has a documented SDK
Creating a plugin for nGhost is easy. Not only because documentation exists but because the interfaces are nice C++ classes. When you use the toolkit, you automatically have a UI built for mobile use. nGhost takes care of the theme and the skinning for you so you just write code.

nGhost3 is innovative
nGhost3 is not like CF, SD, or RR... nGhost3 is an innovative Operating System analogous to Google's Android and Moblin. It's a true, multi-process mobile desktop. Plugins are developed as a plugin, but they run in their own process space. The integration is so tight, you can't even tell that each "plugin" is running in its own window. Look at this demo of moblin2 which demonstrates the idea, and the also shares the same underlying OpenGL graphics accelerated GUI (aka clutter):


Moblin 2.0 Netbook Beta Introduction
You need to upgrade your Flash Player

Can you tell they are completely different apps? Probably not. You can't reproduce that with windows, you can't copy that unless you own the shell, which MS doesn't want you to own. Silly, but true.

nGhost3 is free

nGhost3 is LGPL licensed. This means that it is not only freeware, but also free to hack on, free to change, free as in freedom. It's not going to rip off your code, become closed source and then implement "protective" features that treat you like a thief. nGhost is free and will always be free. It's license guarantees and secures its freeness.

So upgrade your awesomeness today, start developing for nGhost3!!
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Advertisement
 
Advertisement
Sponsored links

Old 06-08-2009, 10:38 AM   #2
Confusion Master
 
Enforcer's Avatar
 
Join Date: Sep 2003
Location: If you go down to the woods today, You're sure of
Posts: 11,922
Enforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant futureEnforcer has a brilliant future
Do you have an SDK, with some easy Hello World type examples.


Also can these plugins be built using MS Visual Studio (preferably VB.net)
Enforcer is offline   Reply With Quote
Old 06-08-2009, 10:44 AM   #3
Terminal flasher
 
Sonicxtacy02's Avatar
 
Join Date: Sep 2004
Location: Woodbridge, VA
Posts: 6,307
Sonicxtacy02 has a spectacular aura aboutSonicxtacy02 has a spectacular aura about
Quote: Originally Posted by Enforcer View Post
Do you have an SDK, with some easy Hello World type examples.


Also can these plugins be built using MS Visual Studio (preferably VB.net)

Diddo! Looks promising but i'm an absolute nube with anything linux.
__________________
03 Acura RSX Coupe
Developer of: RRFusion, MovieTimes.NET, (new)RRMail, RRShoutcast, & RRVehicle Maintenance
Currently working on: RRVehicle Maintenance
Sonicxtacy02 is offline   Reply With Quote
Old 06-08-2009, 10:54 AM   #4
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
Quote: Originally Posted by Enforcer View Post
Do you have an SDK, with some easy Hello World type examples.


Also can these plugins be built using MS Visual Studio (preferably VB.net)


There are some c++ examples in the source:
http://nghost.svn.sourceforge.net/vi.../lib/examples/

most of the headers are documented. It's still early development, but I hope we will have automatic doc generation into html files soon.

texture is the simplest and kb is probably the most complex.

Clutter has bindings for .NET, so VB.NET/C# should be possible. If there is interest in .NET support, I will write the theme engine and skin parser in .NET as well as the harness and plugin interfaces.

Alternatively, you don't have to use the ng3 theme engine/ skinning engine at all. The beauty of this ideology is that you can use any language and can still talk with the other plugins through the IPC mechanism: DBus.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Old 06-08-2009, 08:18 PM   #5
Newbie
 
Join Date: Jun 2009
Posts: 1
ravaz is an unknown quantity at this point
Hi kev000, great job!

Where can we get the nGhost3, I found two foled on svn gn3 and nghost3, I guess ng3 is the correct one as it's the most recent one, is this correct?

I check out ng3 and tried to compile on jaunty but I get the following error:

Code:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/home/mon/development/workspace/ng3/lib/clutter -I../.. -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -pthread -D_REENTRANT -I/usr/include/clutter-0.9 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -MT libnghostclutter_la-NClutterActor.moc.lo -MD -MP -MF .deps/libnghostclutter_la-NClutterActor.moc.Tpo -c NClutterActor.moc.cpp -fPIC -DPIC -o .libs/libnghostclutter_la-NClutterActor.moc.o NClutterActor.moc.cpp:13:26: error: qapplication.h: No such file or directory NClutterActor.moc.cpp:15:34: error: private/qucomextra_p.h: No such file or directory NClutterActor.moc.cpp:17:2: error: #error "This file was generated using the moc from 3.3.8b. It" NClutterActor.moc.cpp:18:2: error: #error "cannot be used with the include files from this version of Qt." NClutterActor.moc.cpp:19:2: error: #error "(The moc has changed too much.)" NClutterActor.moc.cpp:22: error: no ‘const char* nghost::NClutterActor::className() const’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:27: error: ‘QMetaObject* nghost::NClutterActor::metaObj’ is not a static member of ‘class nghost::NClutterActor’ NClutterActor.moc.cpp:28: error: ‘QMetaObjectCleanUp’ does not name a type NClutterActor.moc.cpp:31: error: redefinition of ‘static QString nghost::NClutterActor::tr(const char*, const char*)’ ../../../lib/clutter/NClutterActor.h:13: error: ‘static QString nghost::NClutterActor::tr(const char*, const char*)’ previously defined here NClutterActor.moc.cpp:39: error: redefinition of ‘static QString nghost::NClutterActor::trUtf8(const char*, const char*)’ ../../../lib/clutter/NClutterActor.h:13: error: ‘static QString nghost::NClutterActor::trUtf8(const char*, const char*)’ previously defined here NClutterActor.moc.cpp:50: error: no ‘QMetaObject* nghost::NClutterActor::staticMetaObject()’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:130: error: no ‘void* nghost::NClutterActor::qt_cast(const char*)’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:137: error: ‘QUObject’ has not been declared NClutterActor.moc.cpp:137: error: no ‘bool nghost::NClutterActor::qt_invoke(int, int*)’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:159: error: ‘QUObject’ has not been declared NClutterActor.moc.cpp:159: error: no ‘bool nghost::NClutterActor::qt_emit(int, int*)’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:165: error: no ‘bool nghost::NClutterActor::qt_property(int, int, QVariant*)’ member function declared in class ‘nghost::NClutterActor’ NClutterActor.moc.cpp:170: error: no ‘bool nghost::NClutterActor::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘nghost::NClutterActor’

For what I understood is a problem with the qt version, I have qt3 and qt4 installed. Is it possible to compile with qt4? If not how should I force qt3?

Thank's

Last edited by ravaz; 06-10-2009 at 08:37 AM.
ravaz is offline   Reply With Quote
Old 06-10-2009, 11:33 AM   #6
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
It should only use Qt4. The base directory may not compile, but lib/ should.

The problem (as discovered by kshots) is that it's compiling with qt4, but using moc from qt3. kshots just committed a fix that should use the proper moc versions. You'll have to reconfigure, but you should be good after that.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Old 06-28-2009, 06:46 AM   #7
Variable Bitrate
 
hexxamillion's Avatar
 
Join Date: Dec 2007
Location: AZ
Posts: 373
hexxamillion is on a distinguished road
Sounds promising. I do have a question though. The main reason for 'abandoning' my use of nghost was that it was limited how it handled media..of course..maybe I did not give it more of a chance.

Will nGhost3 be able to perform random playback for music? Is the functionality of media playback limited to configurations of mplayer? Can you configure it to use something like VLC as the backend player? Don't get me wrong mplayer is just fine..Call me spoiled with media handling such as XBMC.

I know its been a while since I have messed with nGhost and I like the GUI and project...I just wasn't happy with how it handled media..that's all.

I am definitely going to be giving nGhost3 a whirl.
__________________
"Live Free!!!...It's all about Open Source"
Worklog: '05 Nissan Altima Project (Intel D945GCLF2D)
Project #2:Solar Power Integration
Vimeo Vids:Project Videos
Blog: Hexxamillion.com- 100% Powered by Wind Energy
Twitter:http://twitter.com/hexxamillion

Last edited by hexxamillion; 06-28-2009 at 07:01 AM.
hexxamillion is offline   Reply With Quote
Old 06-29-2009, 08:12 AM   #8
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
Quote: Originally Posted by hexxamillion View Post
Sounds promising. I do have a question though. The main reason for 'abandoning' my use of nghost was that it was limited how it handled media..of course..maybe I did not give it more of a chance.

Will nGhost3 be able to perform random playback for music? Is the functionality of media playback limited to configurations of mplayer? Can you configure it to use something like VLC as the backend player? Don't get me wrong mplayer is just fine..Call me spoiled with media handling such as XBMC.

I know its been a while since I have messed with nGhost and I like the GUI and project...I just wasn't happy with how it handled media..that's all.

I am definitely going to be giving nGhost3 a whirl.

I'm not sure when you used nGhost last, but nGhost2 supported random music playback. The backend supported it, there hasn't been anyone demanding the feature (until now), and thus the UI control wasn't ever put in. nGhost2's media player is pluggable. The mplayer plugin can be replaced with any media backend if you are willing to do the work. Stubs for phonon, gstreamer, and xine plugins are in repository. Again, there hasn't been much demand for other plugins other than mplayer, so none of the others have been finished.

nGhost3's media engine will likely be based on phonon. Phonon is an abstraction above multiple media playback backends. Gstreamer, Xine, VLC and mplayer (not to mention DirectShow, and Quicktime on those platforms) are currently supported phonon backends.

I hope you give nGhost2 a second look when we release 2.1. If not, nGhost3 is sure to please.
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 07-02-2009, 04:16 AM   #9
Newbie
 
Join Date: Feb 2009
Posts: 43
DocShay is an unknown quantity at this point
Windows 7 supported?
DocShay is offline   Reply With Quote
Old 07-02-2009, 06:14 AM   #10
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
Quote: Originally Posted by DocShay View Post
Windows 7 supported?

nGhost3 probably won't run well on windows. This is because while other frontends hide/mask the shell, nGhost IS the shell and windows, well, doesn't play nice with others. Someone with a lot more windows knowledge than me could probably explain why killing the windows shell (iirc explorer.exe) is a bad idea.

However, as I mentioned in this thread, there is really no reason why someone couldn't write a windows version using the nGhost3 toolkit.

UPDATE:

We are looking at using several components being developed for Moblin in nGhost3: http://wiki.openice.org/index.php/Nghost3. This greatly reduces the actual work we need to do to get ng3 up and running.

cheers,
-Kev
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Old 07-03-2009, 01:09 AM   #11
Constant Bitrate
 
Join Date: Aug 2005
Location: MD
Posts: 168
matt11601 is on a distinguished road
@Kev000
It looks like nGhost is gaining exposure and interest from mp3car forum users. I think later versions of nGhost (perhaps version 3?) will inspire users to make the jump to linux and ultimately write plug-ins (hence the purpose of this thread).

I do have a suggestion for a future thread. Many people continue to use Windows front ends because the best front ends RUN on Windows. In the future, I think it would help users to see a chart/comparison of what nGhost can do compared to, say, Ride Runner or Centrafuse. Once users see a "feature" comparison, I think the switch will be easier. With this increased interest I'm hoping there will be more exposure, user created plug-ins, etc.

What do you think?
matt11601 is offline   Reply With Quote
Old 07-03-2009, 02:35 AM   #12
Newbie
 
Join Date: Feb 2009
Posts: 43
DocShay is an unknown quantity at this point
Quote: Originally Posted by matt11601 View Post
@Kev000
Many people continue to use Windows front ends because the best front ends RUN on Windows. In the future, I think it would help users to see a chart/comparison of what nGhost can do compared to, say, Ride Runner or Centrafuse. Once users see a "feature" comparison, I think the switch will be easier. With this increased interest I'm hoping there will be more exposure, user created plug-ins, etc.

What do you think?

I agree, but also disagree. While I have used different flavors of linux in the past - I know Windows inside and out. The amount of time it would take me to get a good setup using linux that I was happy and familiar with - Outweighs the amount of time i'd like to put into it unfortunately.

When something breaks or doesn't work in windows - I can fix it in minutes. When somethings not working right, won't install correct or gives me issues - takes me hours/days to figure out.

I understand than linux is much more efficient than windows, and everything is endless and open ended - But I just don't have the time or patience to figure it all out. I ran Ubuntu ("arguably" the most newb friendly version of linux) for a solid month before I switched back. I still don't think i'd be able to install an application without some help.
DocShay is offline   Reply With Quote
Old 07-03-2009, 03:05 AM   #13
Variable Bitrate
 
Join Date: Nov 2007
Posts: 242
NSFW is an unknown quantity at this point
Quote: Originally Posted by kev000 View Post
nGhost3 probably won't run well on windows. This is because while other frontends hide/mask the shell, nGhost IS the shell and windows, well, doesn't play nice with others. Someone with a lot more windows knowledge than me could probably explain why killing the windows shell (iirc explorer.exe) is a bad idea.

Yes, explorer.exe is the Windows shell. That's configurable though, you can have it start nghost3.exe instead of explorer.exe if you want. Explorer would no longer start up, unless of course you launch it yourself, and killing nghost.exe would then have the same side-effects as killing explorer.exe (haven't messed with this in a long time, but if I recall correctly, Windows will automatically launch a new shell process if the first one dies).

Of course that assumes that you first create yourself an nghost.exe for Windows to use as the shell. But if you do that, then you can replace explorer.exe with your own shell pretty easily.

I'm guessing that the biggest three factors that guide which front end a developer writes a plug in for are:
1) Which front-ends have the most users? (if they're in it for the satisfaction that comes from having people use their code)
2) Which front-end does the individual developer like best (if they're in it for the satisfaction of using something that they wrote, or something that has a feature that they particularly want)
3) Which front-ends have the most developer-friendly API and documentation? (if speed of development is a big motivator)

Any new front end is going to be in a tricky place with regard to (1) because users tend to want the front ends that have their favorite plugsins. Classic chicken-or-egg problem. But (2) and (3) and largely under your control, and I think you're doing the right thing by focusing on the core features (nav, music, phone) and creating APIs for both native code and C#.

I'm not using nGhost but I am keeping an eye on it and I look forward to watching it evolve.

Last edited by NSFW; 07-03-2009 at 03:12 AM.
NSFW is offline   Reply With Quote
Old 07-03-2009, 03:15 AM   #14
Variable Bitrate
 
Join Date: Nov 2007
Posts: 242
NSFW is an unknown quantity at this point
Quote: Originally Posted by matt11601 View Post
@Kev000
It looks like nGhost is gaining exposure and interest from mp3car forum users. I think later versions of nGhost (perhaps version 3?) will inspire users to make the jump to linux and ultimately write plug-ins (hence the purpose of this thread).

I do have a suggestion for a future thread. Many people continue to use Windows front ends because the best front ends RUN on Windows. In the future, I think it would help users to see a chart/comparison of what nGhost can do compared to, say, Ride Runner or Centrafuse. Once users see a "feature" comparison, I think the switch will be easier. With this increased interest I'm hoping there will be more exposure, user created plug-ins, etc.

What do you think?

Another thing that would help is a video walking through the features of nGhost. Start by picking a song or playlist from the music library, placing a call / taking a call, displaying nav, etc, then go into more detail about each feature. Swapping operating systems is a non-trivial undertaking, people are going to need to be convinced that it's worth investing the time.

A short video walkthrough would probably help. At least have screenshots. But I think something showing hands-on (literally) usage would help even more than screenshots.
NSFW is offline   Reply With Quote
Old 08-06-2009, 04:06 PM   #15
licensed to kill
 
kev000's Avatar
 
Join Date: Aug 2006
Location: Deep in the Rockies... coding in caves
Posts: 1,038
kev000 will become famous soon enough
I just reworked the animation sublayer in the nghost3 libraries to allow more advanced effects. This is a short demo featuring the "dialer" example and the new click effect:


ng3 button demo
You need to upgrade your Flash Player
__________________
LinuxICE - because my car already has enough windows (and because I like speed).
LinuxICE2 beta2 is released!!! get it now!
Follow OpenICE development
kev000 is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Reply

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
Error: The requested action with this object has failed. EricE RR Skins 13 05-28-2009 04:18 PM
Jan 2009 *NEW RoadRunner updates* (coming soon to a pc near you) mitchjs Road Runner 63 03-10-2009 08:49 PM
pc reboot on sd startup duanes7 StreetDeck 3 12-14-2007 09:55 AM
IRMAN plugin knyarko StreetDeck 3 01-05-2007 09:26 PM
How do I use the Extension Plugin Interface ? guino RR FAQ 0 06-11-2006 06:49 PM



All times are GMT -5. The time now is 06:42 AM.


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