Main > Software Forum

Open-Source Front End Specs

Pages: << < (3/3)

Lilwolf:

Ok, I have some questions... someone might be able to answer
to start off with, it seems to me that C/C++ is the only language that will fit the bill for everything.  Any others we should be looking at?



Free development system
 any good free IDE's for C++?  

Modular
 how easy is it to load modules after the fact in C++ by name?  Or should we just assume that we will be compiling with all modules connected.

Easy graphics libraries available
 I've heard of a few out there.   Allegro sounds good.  But I would like the core not to assume any of them personally.   So people can use their own... I just want to make sure there are some good ones out there

Vertical and horizontal text
 Anyone with any solutions to this?  Allegro?

Launch any emu within reason
 shouldn't have any trouble with this.
 
Have a customizable look/layeout (themes)
 ....

Easily configured "tweaked" through INI files a GUI or both
 This HAS to be optional.  Many people DONT want a way to configure anything after it's all setup (don't want the kids messing it up).

Support for both PC and arcade monitors
 I'm clueless here.  By arcademonitors i"m assuming we are talking about dos / linux only.  Any comments?

Play background music with the ability to navigate songs
 MP3 files would be nice.  I would love a module to play MP3's instead of roms.  Maybe even a DVD addon and CD player.

Mappable controls (redundant to easily configured ???)
 The question is if we should put these in an .ini file.  I would say yes, but we have to make sure that there can be more then one (one per control panel at least).


SirPoonga:


--- Quote from: Lilwolf on September 20, 2002, 04:27:40 pm ---
Free development system
 any good free IDE's for C++?  

--- End quote ---


Borland

Dave Dribin:


--- Quote from: Lilwolf on September 20, 2002, 04:27:40 pm ---Ok, I have some questions... someone might be able to answer
to start off with, it seems to me that C/C++ is the only language that will fit the bill for everything.  Any others we should be looking at?
--- End quote ---


Oh, no, not again!

--- Quote ---Free development system
 any good free IDE's for C++?
--- End quote ---
 
I just use Emacs, make, and gdb.  It's probably gonna be hard to find a cross-platform C++ IDE.  For Windows, Dev-C++ sounds interesting:

http://www.bloodshed.net/devcpp.html

But think about what you would be getting out of an IDE.  It's not like we're donig GUI development so I don't see an IDE providing much help.  At the very least, we shouldn't require an IDE, but allow people to use an IDE.  I just like a good text editor, thank you. :)

--- Quote ---Modular
 how easy is it to load modules after the fact in C++ by name?  Or should we just assume that we will be compiling with all modules connected.
--- End quote ---


It ain't easy to dynamically load C++ modules, especially in a portable matter.  You'd have to look at something like libtool, and even then most loadable modules are meant for C.  One problem for C++ is symbol name mangling.  There's no standard for this, so a C++ DLL compiled with mingw may not be compatible with a C++ DLL compiled with VC++.

--- Quote ---Easy graphics libraries available
 I've heard of a few out there.   Allegro sounds good.  But I would like the core not to assume any of them personally.
--- End quote ---


I can attest for Allegro.  It's awesome.  The only other big one I know about is SDL.  SDL probably has better OpenGL integration.  AFAIK, both provide things like bitmaps, sprites, samples, sounds, and text.  You'd have to do some research to find the exact pros/cons between the two, though.  I can't think of any others.  I think it's actually quite difficult to make the core graphics library agnostic.  It can be done, but we probably won't get it right the first time.

--- Quote ---Vertical and horizontal text
 Anyone with any solutions to this?  Allegro?
--- End quote ---


GL uses Allegro.  It draws text onto a bitmap.  It then rotates the bitmap and copies it to another bitmap.  This final bitmap can be blit to the screen like a sprite.  My first implementation of rotated text was horribly ugly.  The second time around I created higher level components like "labels" and "scrollable lists".  And just like Swing components, it's MVC.  You can then do different views, like one for horizontal, one rotated right, etc.

You can probably do this with any graphics library that can draw text onto a bitmap, not only Allegro.

--- Quote ---Launch any emu within reason
 shouldn't have any trouble with this.
--- End quote ---


It should be easy, but I'm still have issues launching programs under Windows.  This is just my lack of Win32 experience.  Someone with a clue could do this much easier.

--- Quote ---Easily configured "tweaked" through INI files a GUI or both
 This HAS to be optional.  Many people DONT want a way to configure anything after it's all setup (don't want the kids messing it up).
--- End quote ---


One solution is to have the config GUI be a completely separate program.  That way it's easy to lock the configuration: just don't launch that program.  Plus, you could do a proper Windows app or even a Java Swing app for the config GUI.  Java would be nice 'cuz the GUI would then be portable to most platforms and Swing is pretty cool.

--- Quote ---Mappable controls (redundant to easily configured ???)
 The question is if we should put these in an .ini file.  I would say yes, but we have to make sure that there can be more then one (one per control panel at least).
--- End quote ---


This can be done in an INI file.  The next version of GL will have super flexible mappable controls all setup in an INI file.

-Dave


SirPoonga:


--- Quote from: Dave_Dribin on September 20, 2002, 06:43:03 pm ---
But think about what you would be getting out of an IDE.  It's not like we're donig GUI development so I don't see an IDE providing much help.  At the very least, we shouldn't require an IDE, but allow people to use an IDE.  I just like a good text editor, thank you. :)


--- End quote ---


Um, then you aren't making an FE!!  This thread is about a frontend, not purely a backend.



--- Quote ---
It ain't easy to dynamically load C++ modules, especially in a portable matter.  You'd have to look at something like libtool, and even then most loadable modules are meant for C.  One problem for C++ is symbol name mangling.  There's no standard for this, so a C++ DLL compiled with mingw may not be compatible with a C++ DLL compiled with VC++.

--- Quote ---Easy graphics libraries available
 I've heard of a few out there.   Allegro sounds good.  But I would like the core not to assume any of them personally.
--- End quote ---


I disagree.  There is an ANSI standard for class files.  As long as a person includes these class files into a project there wouldn't be an issue.


An open source frontend should work with the open source data control )p( and I have been hinting about.  I could see it has two projects that work together.

Also, try not to make the INI file so huge.  It doen't need to be if the FE can read meu config files.  Actually, I see three project.  A backend, for grabbing data (like categories, romnames, etc, the data storage).  Utilities to read configs from emus, that way , mame for example, you just have to "register" mame with the FE, it will get the rom paths and such from the mame.ini.  Third would be a GUI.

Between the first two projects is a standardized datafil/catver/whatever format.
--- End quote ---


Dave Dribin:


--- Quote from: SirPoonga on September 20, 2002, 07:12:41 pm ---

--- Quote from: Dave_Dribin on September 20, 2002, 06:43:03 pm ---But think about what you would be getting out of an IDE.
--- End quote ---

Um, then you aren't making an FE!!  This thread is about a frontend, not purely a backend.
--- End quote ---


But the front end we've been describing doesn't have any GUI in the traditional sense. A GUI builder would be useless.  Eh, IDE vs. text editor is another holy war which I really don't want to be apart of at the moment.  If you guys standardize on an IDE and its free, perhaps I'll give it a shot.  Otherwise, I'll find a way to use a text editor.  This doesn't have to be an either/or decision and we should be able to accomodate both camps.

--- Quote ---
--- Quote ---It ain't easy to dynamically load C++ modules, especially in a portable matter.
--- End quote ---


I disagree.  There is an ANSI standard for class files.  As long as a person includes these class files into a project there wouldn't be an issue.
--- End quote ---


Well, I'll admit, my experience with this is a couple years old.  Things may have progressed since then.  I know the original ANSI C++ std did not specify an ABI, but perhaps they made an addendum since then.  The proof is in the pudding.  If you find a way that works in a portable manner, I'm all for it.

-Dave


Pages: << < (3/3)

Go to full version