SDL_INet Library needed!

I looked at the mailarchive and there was a similar posting from David Olofson, but not many answers
and no code samples :=(

I am working on a port of The HUGI Diskmag to SDL ( www.hugi.de surf to the site it is in english ).
When you are reading an Article in the MAG you can click on URLs and EMail Links.
How can i detect under LINUX, BEOS, MACOS … what the Standard Browser is ???
How can i start it on the different OSes ?? How to detect the Standard Email Client ???
How to start it ??? Please post Code Samples how this looks at your SYSTEM/OS !!!

THANKS !!

CU

Hi,

I’ve got an application port for Mac OS X that can use either
OpenGL or SDL. I’ve got the OpenGL portion working and now
I’m trying to get the SDL part working. I downloaded and
built SDL-1.2.0 using the “./configure ; make” method. However,
when I try to link with the resulting SDL library I get a few
unresolved symbols (aglSwapBuffers, aglShowDrawable, etc).
I was hoping someone familiar with SDL on the Mac might
be able to tell me where these “agl” functions reside.

Thanks,

Matt

Matt Majka wrote:

Hi,

I’ve got an application port for Mac OS X that can use either
OpenGL or SDL. I’ve got the OpenGL portion working and now
I’m trying to get the SDL part working. I downloaded and
built SDL-1.2.0 using the “./configure ; make” method. However,
when I try to link with the resulting SDL library I get a few
unresolved symbols (aglSwapBuffers, aglShowDrawable, etc).
I was hoping someone familiar with SDL on the Mac might
be able to tell me where these “agl” functions reside.

Thanks,

Matt

SDL’s makefile should be using -framework AGL (but I guess someone
forgot).

A temporary fix is to add “-framework AGL” to the linker flags in your
makefile

-Darrell

Hi,
You’ll need to add -framework AGL to your link line, something like
this ought to work ok:
-lSDL -framework OpenGL -framework AGL -framework Carbon

I’m still trying to resolve a problem I’m having on MacOS-X, when
I call the gluNewQuadric() routine inside of a small SDL program
it crashes. If I do the same thing inside of a GLUT program, it
works fine. I don’t know why yet. I don’t even have to USE the
quadric, just calling gluNewQuadric() will do it. Another interesting
thing is that calling the other gluxxx() routines apparently works fine.
If anyone has a clue on that, I’d like to hear about it…

John Stone
@John_StoneOn Wed, Apr 11, 2001 at 07:38:10AM -0500, Matt Majka wrote:

Hi,

I’ve got an application port for Mac OS X that can use either
OpenGL or SDL. I’ve got the OpenGL portion working and now
I’m trying to get the SDL part working. I downloaded and
built SDL-1.2.0 using the “./configure ; make” method. However,
when I try to link with the resulting SDL library I get a few
unresolved symbols (aglSwapBuffers, aglShowDrawable, etc).
I was hoping someone familiar with SDL on the Mac might
be able to tell me where these “agl” functions reside.

Thanks,

Matt


NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: @John_Stone Phone: 217-244-3349
WWW: http://www.ks.uiuc.edu/~johns/ Fax: 217-244-6078

I looked at the mailarchive and there was a similar posting from David
Olofson, but not many answers
and no code samples :=(

I am working on a port of The HUGI Diskmag to SDL ( www.hugi.de surf to
the site it is in english ).
When you are reading an Article in the MAG you can click on URLs and
EMail Links.
How can i detect under LINUX, BEOS, MACOS … what the Standard
Browser is ???

Standard Browser? What an odd concept…
that there would be a standard that is - and a standard way of talking to
it… Wonder what OS has that? (it’s not linux, for sure)

under linux:
gtk - has a method, not sure how to invoke
kde - also
perhaps there’s a CORBA standard way? Not sure…

under windows: (never thought of this system, no?)
file type attachment IIRC - I’m curious about this actually

How can i start it on the different OSes ?? How to detect the Standard
Email Client ???
How to start it ??? Please post Code Samples how this looks at your
SYSTEM/OS !!!

for those who’ve been writing games I don’t think it’s been terribly
important so far - or by the time it does, folks know how… but I am
curious on how normally this kinda stuff is figured out. Not all systems
-HAVE- a “standard www browser” or “standard email messenger” system…
although they’re getting more prevalent these days.

If it weren’t that www/email gateways for tech support, updates, service
manuals and such are just -so- handy, I’d think this wasn’t appropriate
for SDL to explore - but it is, and there -isn’t- a portable way to do
this. (well, except for maybe gtk±2.0 :slight_smile: (theoretically anyways - I
haven’t looked)

G’day, eh? :slight_smile:
- TeunisOn Wed, 11 Apr 2001, Torsten Giebl wrote:

Well, I found them (duh). They are in the Carbon Framework, which
I thought I had included in the project per the documentation…
Maybe there is a link order problem…On Wednesday, April 11, 2001, at 07:38 AM, Matt Majka wrote:

Hi,

I’ve got an application port for Mac OS X that can use either
OpenGL or SDL. I’ve got the OpenGL portion working and now
I’m trying to get the SDL part working. I downloaded and
built SDL-1.2.0 using the “./configure ; make” method. However,
when I try to link with the resulting SDL library I get a few
unresolved symbols (aglSwapBuffers, aglShowDrawable, etc).
I was hoping someone familiar with SDL on the Mac might
be able to tell me where these “agl” functions reside.

Thanks,

Matt

For BeOS:
just use the
#if BEOS
// code goes here…

BeOS works with MIME types so by looking at the mime type for http links
and/or html documents you can fire up the default browser, or you can use
this: BMimeType::GetPreferredApp()
But, in many cases, you shouldn’t have to use that, and you should be able
to use the BRoster to take care of finding the right app. The BRoster class
is the interface to registrar, which is the server that takes care of
performing the various MIME-related actions. e.g. some apps have a button
to send an e-mail, but I don’t find by hand what the e-mail client is, I
just let the roster take care of it.

All the API docs for BeOS are coming with the BeOS PRO version, or if you
just have PE, you can download the 17 MB Developers Tools archive and
install it on the (free) BeOS 5 PE.

Eugenia

“Torsten Giebl” wrote in message
news:9b19c3$jln$1 at ftp.lokigames.com

I looked at the mailarchive and there was a similar posting from David
Olofson, but not many answers
and no code samples :=(

I am working on a port of The HUGI Diskmag to SDL ( www.hugi.de surf to
the site it is in english ).
When you are reading an Article in the MAG you can click on URLs and EMail
Links.
How can i detect under LINUX, BEOS, MACOS … what the Standard Browser
is ???
How can i start it on the different OSes ?? How to detect the Standard
Email Client ???
How to start it ??? Please post Code Samples how this looks at your
SYSTEM/OS !!!>
THANKS !!

CU

Darrell Walisser wrote:

Matt Majka wrote:

Hi,

I’ve got an application port for Mac OS X that can use either
OpenGL or SDL. I’ve got the OpenGL portion working and now
I’m trying to get the SDL part working. I downloaded and
built SDL-1.2.0 using the “./configure ; make” method. However,
when I try to link with the resulting SDL library I get a few
unresolved symbols (aglSwapBuffers, aglShowDrawable, etc).
I was hoping someone familiar with SDL on the Mac might
be able to tell me where these “agl” functions reside.

Thanks,

Matt

SDL’s makefile should be using -framework AGL (but I guess someone
forgot).

A temporary fix is to add “-framework AGL” to the linker flags in your
makefile

I didn’t know about the AGL Framework. Thanks.
(BTW: This is for TuxRacer for Mac OS X. I’ve got
a version without SDL working)

(Oh no, not this subject again! ;-)On Wed, 11 Apr 2001, you wrote:

I looked at the mailarchive and there was a similar posting from David Olofson, but not many answers
and no code samples :=(

I am working on a port of The HUGI Diskmag to SDL ( www.hugi.de surf to the site it is in english ).
When you are reading an Article in the MAG you can click on URLs and EMail Links.
How can i detect under LINUX, BEOS, MACOS … what the Standard Browser is ???

That was the trick, and I think the reason why the thread eventually died down
with no resolution.

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic. For example, under Linux you have so many possible browser options
which are actively in use you would have a very difficult time trying to pull
it off.

If anyone is interrested in this, I would actually recommend NOT trying to use
SDL to handle any of this. I would recommend they take a look at the many
available cross-platform embedded browsers out there, and consider just
including them in their application.

IMHO, an additional 1 meg of disk space for a browser that is lite and
cross-platform is much better than the hassle to try and support the various
platforms and browsers associated with them.

For some lite cross-platform, embedded browsers, see any of the following:
http://qpe.sourceforge.net/
http://www.netraider.de/
http://jazilla.sourceforge.net/ (this one’s interesting)
etc.

Other than that, we probably want to keep this off the SDL list.


Sam “Criswell” Hart <@Sam_Hart> AIM, Yahoo!:
Homepage: < http://www.geekcomix.com/snh/ >
PGP Info: < http://www.geekcomix.com/snh/contact/ >
Advogato: < http://advogato.org/person/criswell/ >

Under Windows the function that will open the application associated
with a particular filetype or URL is “ShellExecute”.

Someone provided an answer for BeOS.

For other platforms, you could just ask the user to provide the path
to the executable of the program they want to use to open URLs. (or
crawl the filesystem to find all browsers you are aware of and then
ask the user to pick which one they want to use)–

Olivier A. Dagenais - Software Architect and Developer

I looked at the mailarchive and there was a similar posting from
David Olofson, but not many answers
and no code samples :=(

I am working on a port of The HUGI Diskmag to SDL ( www.hugi.de surf
to the site it is in english ).
When you are reading an Article in the MAG you can click on URLs and
EMail Links.
How can i detect under LINUX, BEOS, MACOS … what the Standard
Browser is ???
How can i start it on the different OSes ?? How to detect the
Standard Email Client ???
How to start it ??? Please post Code Samples how this looks at your
SYSTEM/OS !!!

THANKS !!

CU

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic. For example, under Linux you have so many possible browser options
which are actively in use you would have a very difficult time trying to pull
it off.

Why has noone come up with a “$WEB_BROWSER” or “$URL_HANDLER” or
some other environment variable, like “$EDITOR” (which we’ve had forever!)?

-bill!

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic.

Can’t see why - I think doing it seems a lot more complicated than the
cross platform part… :slight_smile:

If anyone is interrested in this, I would actually recommend NOT trying to
use SDL to handle any of this. I would recommend they take a look at the
many available cross-platform embedded browsers out there, and consider
just including them in their application.

IMHO, an additional 1 meg of disk space for a browser that is lite and
cross-platform is much better than the hassle to try and support the
various platforms and browsers associated with them.

Yeah, but provided you can squeeze in a browser that really works, how do
you expect it to figure out how to access the 'net…? This is far more
complicated than just finding an installed and working browser, and the
firewall and gateway setting can’t be autodetected at all on some LANs. (Like
the one I’m on right now…)

Under Windows the function that will open the application associated
with a particular filetype or URL is “ShellExecute”.

Someone provided an answer for BeOS.

Both seem easy and solid. (Well, provided the user has the system configured
properly… Nothing we can do otherwise, unless we can read their minds.)

For other platforms, you could just ask the user to provide the path
to the executable of the program they want to use to open URLs. (or
crawl the filesystem to find all browsers you are aware of and then
ask the user to pick which one they want to use)

How about trying to execute ‘which netscape’, ‘which konqueror’ etc, or just
trying the system path (ie ‘netscape’, ‘konqueror’ etc; try next if you get a
"command not found" response) first…? :slight_smile:

//David

.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------> http://www.linuxaudiodev.com/maia -' .- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |--------------------------------------> david at linuxdj.com -'On Wednesday 11 April 2001 18:10, Samuel Hart wrote:
On Wednesday 11 April 2001 19:23, Olivier Dagenais wrote:

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic. For example, under Linux you have so many possible browser
options which are actively in use you would have a very difficult time
trying to pull it off.

Like what kind of options? That seems kind of odd to me. In theory, all you
would need for an option is one string that holds the URL. Sounds like maybe
they got carried away or something.

If anyone is interrested in this, I would actually recommend NOT trying to
use SDL to handle any of this. I would recommend they take a look at the
many available cross-platform embedded browsers out there, and consider
just including them in their application.

IMHO, an additional 1 meg of disk space for a browser that is lite and
cross-platform is much better than the hassle to try and support the
various platforms and browsers associated with them.

There’s a few problems with that, though. First, users tend to have a
favorite browser, and prefer to use it to all others. For example, person A
like IE, and hates to use Netscape. They will usually give you a whole list
of reasons why. So forcing them to use a browser other than their preferred
browser is just a bad idea right there.

Second, IE and Netscape are the 2 main browsers that 98% of the sites on the
web support. They will flat out refuse to support any others as well.
Neither one of these browsers have their source code available, so you can’t
embed them into your application as you suggest. So instead you’d be using a
browser that 98% of the sites won’t officially support. If you are lucky, it
will work fine for most sites, but I there will without a doubt be many that
won’t work right.

I think this coming up with a standard way to invoke the various internet
applications that is cross-platform is necessary, considering how common
place the internet has already become and will continue to become. This
should be approached as a problem of coming up with a new standard, though,
rather than just a new library. As such, I agree with your comment below.
It’s beyond the scope of SDL. Maybe we should contact the ANSI committee
about coming up with a standard for this. They seem like the logical people
to do this.> Other than that, we probably want to keep this off the SDL list.

Probably because no one has come up with an application yet to utilize them.
I could go and set these right now on my system, but without any applications
to read them, it’s not very useful.

But, I guess it should start with a spec on how the variables should work.
So here’s what I suggest (examples):

WEB_BROWSERS=konquerer:netscape

Working similar to PATH, you have a list of applications, seperated by
colons. The first app in the list would be the default browser.

DEFAULT_WEB_BROWSER=netscape

You could set this as well, which would override the ‘first in WEB_BROWSERS
list is default’ behavior. However, WEB_BROWSERS would still be useful, as
you have a list of all the available browsers for the system that you could
use, if you wanted to use a specific one or whatever.

EMAIL_CLIENTS=kmail:pine
DEFAULT_EMAIL_CLIENT=kmail

These would work similar to the above, only applies to the email client
applications instead.

FTP_CLIENTS=ftp
DEFAULT_FTP_CLIENT=ftp

These would be for FTP access, etc. You could set up variables for other
things as well.

So, there’s a spec. Now we just need some applications out there that use it
and we are in business. :slight_smile: Feel free to forward this on to anyone you want.On Wednesday 11 April 2001 11:56, you wrote:

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic. For example, under Linux you have so many possible browser
options which are actively in use you would have a very difficult time
trying to pull it off.

Why has noone come up with a “$WEB_BROWSER” or “$URL_HANDLER” or
some other environment variable, like “$EDITOR” (which we’ve had forever!)?

All your OT discussions are belong to somewhere else!!> > Other than that, we probably want to keep this off the SDL list.

Matt Majka wrote:

I didn’t know about the AGL Framework. Thanks.
(BTW: This is for TuxRacer for Mac OS X. I’ve got
a version without SDL working)

Great! Have you found a way to get res-switching support? DrawSprocket
seems to be broken still on MacOS X.

I have projects to build SDL.framework and SDLMixer.framework if you want
them. I will be posting these soon.

I also have projects (for frameworks) for zlib and libPNG, if anyone is
interested.

Regards,
Darrell

But, I guess it should start with a spec on how the variables should work.

This is off topic, please take it offline.

Thanks,
-Sam Lantinga, Lead Programmer, Loki Entertainment Software

I meant browser options as in browsers themselves…

A small sampling of browsers used often with Linux include:

  • Netscape * Konqueror * Mozilla
  • Lynx * Galeon * SkipstoneOn Wed, 11 Apr 2001, you wrote:

Trying to do this in a cross-platform sort of way is /very/ tricky and
problematic. For example, under Linux you have so many possible browser
options which are actively in use you would have a very difficult time
trying to pull it off.

Like what kind of options? That seems kind of odd to me. In theory, all you
would need for an option is one string that holds the URL. Sounds like maybe
they got carried away or something.


Sam “Criswell” Hart <@Sam_Hart> AIM, Yahoo!:
Homepage: < http://www.geekcomix.com/snh/ >
PGP Info: < http://www.geekcomix.com/snh/contact/ >
Advogato: < http://advogato.org/person/criswell/ >

problematic. For example, under Linux you have so many possible browser
options which are actively in use you would have a very difficult time
trying to pull it off.

Like what kind of options? That seems kind of odd to me. In theory, all you
would need for an option is one string that holds the URL. Sounds like maybe
they got carried away or something.

I think he was referring to installed configuration options, not command
line options. There are several programs in linux that will take just the
URL and run with it. The problem is just that, though – there are
several. Gnome, KDE, straight netscape, lynx… each has it’s own way of
doing things that requires certain other things to be true (like having
KDE running, for example :slight_smile: )

IMHO, an additional 1 meg of disk space for a browser that is lite and
cross-platform is much better than the hassle to try and support the
various platforms and browsers associated with them.

There’s a few problems with that, though. First, users tend to have a
favorite browser, and prefer to use it to all others. For example, person A
like IE, and hates to use Netscape. They will usually give you a whole list
of reasons why.

A) these people don’t tend to use linux
2) There isn’t an IE on linux
g) These people aren’t going to use this browser to surf the web. They’re
just going to use it to look at your documentation (or whatever). If you
put a browser in your application, it’s generally not so that people can
look up ebay auctions and scan /. while using your program (unless your
program happens to be a web browser :slight_smile: ).

Also figure the laziness factor. If the user has to choose between
(A)using an unfamiliar browser, (2)cutting/pasting a string into their
preferred browser manually, or (g) manually entering their browser
information into a dialog, which will he/she choose.

I think this coming up with a standard way to invoke the various internet
applications that is cross-platform is necessary, considering how common
place the internet has already become and will continue to become.

Agreed. And doubly so. I’m not at all certain that this is a task that
SDL needs to take upon itself.–
“I would be self-righteous, but I was anointed by god.”

If anyone is interrested in this, I would actually recommend NOT trying to
use SDL to handle any of this. I would recommend they take a look at the
many available cross-platform embedded browsers out there, and consider
just including them in their application.

IMHO, an additional 1 meg of disk space for a browser that is lite and
cross-platform is much better than the hassle to try and support the
various platforms and browsers associated with them.

There’s a few problems with that, though. First, users tend to have a
favorite browser, and prefer to use it to all others. For example, person A
like IE, and hates to use Netscape. They will usually give you a whole list
of reasons why. So forcing them to use a browser other than their preferred
browser is just a bad idea right there.

Not if you /really/ insist on forcing your user to look something up on the WWW
and do it in a platform/browser independent way :wink:

Other than that, we probably want to keep this off the SDL list.

Just reiterating this as well (I know the previous poster did likewise)On Wed, 11 Apr 2001, you wrote:


Sam “Criswell” Hart <@Sam_Hart> AIM, Yahoo!:
Homepage: < http://www.geekcomix.com/snh/ >
PGP Info: < http://www.geekcomix.com/snh/contact/ >
Advogato: < http://advogato.org/person/criswell/ >