GSoC 2009 ideas

Hello SDL!

I’m applying to GSoC again this year (my GSoC 2008 project was starting
the SDL port for iPhone) and I’d like to apply to SDL again. I have a
lot of ideas on how I’d like to continue my work from last year, but I’m
curious if people have input as to what would be most useful.

Some ideas for what I’d like to do:

  1. Bring the iPhone port and examples up to date with the rest of SDL
    1.3 and smooth any build issues people are having. This is probably the
    only one I’m 100% sure of.

  2. Touch input. I’d be up for adding this to SDL. I previously
    simulated this in the iPhone port of SDL by using SDL’s multiple mouse
    abilities.

  3. Port an SDL game to iPhone … I know Sam was working on Maelstrom,
    perhaps I could finish that work. I looked at Supertux, which would be
    really cool but the project is probably way too complicated to pull
    off. Any other ideas?

  4. Add landscape mode video support to the iPhone port of SDL.

  5. Port peripheral libraries to iPhone. I’ve previously looked through
    some of the other libraries and evaluated how hard they would be to port:

SDL_image: moderately easy, just a lot of dependencies
SDL_net: probably trivial (using existing Mac OS X code)
SDL_ttf: easy
SDL_mixer: appears difficult to port

thanks for your input!

  • Holmes Futrell

SDL_image: moderately easy, just a lot of dependencies

Hi Holmes,
FYI, I implemented a native ImageIO backend for SDL_image for Mac OS X
and a native UIImage based backend for the iPhone. (This removes the
redundant dependencies on libjpeg, libtiff, libpng, libgif, etc. and
shrinks the binaries by about 10x.)

The UIImage backend however has a limitation in that the UIImage API
does not have a read from stream. So right now, the RWops solution is
imperfect because it must read the whole file into memory in one shot.
Unless Apple has addressed this in the new SDK, the only other
workaround I can think of is to reverse engineer how Apple is pulling
data from the NSData and then subclass NSData so it reads our data in
a more stream-like fashion.

But if this was of interest to you, this is what I imagine is the main
piece still missing for SDL_image on the iPhone. (Well, that and
actually testing what I implemented :stuck_out_tongue: )

Thanks,
Eric

Hi everybody!!!
I need to know if it is possible to reproduce a video in .avi or .mpeg
format with SDL or another library. I have seen that there are libraries
like SDL_ttf, SDL_mixer, SDL_image… but I have not found any library
related with videos in SDL…
Someone can help me?

It is possible to play a flash video?

Thanks everybody!!!

__________ Informacion de ESET NOD32 Antivirus, version de la base de firmas
de virus 3983 (20090402) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

I’m applying to GSoC again this year (my GSoC 2008 project was starting the
SDL port for iPhone) and I’d like to apply to SDL again. ?I have a lot of
ideas on how I’d like to continue my work from last year, but I’m curious if
people have input as to what would be most useful.

Thanks!

  1. Touch input. ?I’d be up for adding this to SDL. ?I previously simulated
    this in the iPhone port of SDL by using SDL’s multiple mouse abilities.

What could be improved about it? Isn’t multiple pointers/mice the
right way to do things?On Thu, Apr 2, 2009 at 3:12 AM, Holmes Futrell wrote:


http://codebad.com/

Donny Viszneki wrote:

  1. Touch input. I’d be up for adding this to SDL. I previously simulated
    this in the iPhone port of SDL by using SDL’s multiple mouse abilities.

What could be improved about it? Isn’t multiple pointers/mice the
right way to do things?

Doing multiple mice for multi-touch input – works – but it’s not
ideal. Here are my thoughts:

Mice are persistent, but touches come into being and cease to exist all
the time. So associating touches with a finite number of mouse indices
is logically tenuous and awkward to program. The mouse indices cease to
be meaningful (two different touch events should really have different
indices) and you can get “information” about touches that don’t even
really exist (if you’re not careful).

Some mouse concepts also just don’t apply to touches – cursors and
mouse warping, for example.

With touch input, gestures like tap, double tap, etc are common but can
be problematic to detect. A touch API could help with this by allowing
the programmer to pass time thresholds for multi-tapping and then have
these gestures passed as events.

  • Holmes

Hola Francisco

This is one of the most frequently asked questions on the SDL list.

Go to http://www.dranger.com/ffmpeg/

That should help. But I hope in SDL 1.3 we can get a fully functioning API to playback video files without having to bother with
all this stuff.

As far as I know, there is no support for flv yet.

Un saludos

Ed________________________________
From: fran@ikasplay.com (Francisco Bodego Franco)
To: A list for developers using the SDL library. (includes SDL-announce)
Sent: Thursday, 2 April, 2009 14:13:51
Subject: [SDL] SDL and Videos

Hi everybody!!!
I need to know if it is possible to reproduce a video in .avi or .mpeg
format with SDL or another library. I have seen that there are libraries
like SDL_ttf, SDL_mixer, SDL_image… but I have not found any library
related with videos in SDL…
Someone can help me?

It is possible to play a flash video?

Thanks everybody!!!

__________ Informacion de ESET NOD32 Antivirus, version de la base de firmas
de virus 3983 (20090402) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset…com


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Donny Viszneki wrote:
Doing multiple mice for multi-touch input – works – but it’s not ideal.
?Here are my thoughts:

Mice are persistent, but touches come into being and cease to exist all the
time. ?So associating touches with a finite number of mouse indices is
logically tenuous and awkward to program. ?The mouse indices cease to be
meaningful (two different touch events should really have different indices)
and you can get “information” about touches that don’t even really exist (if
you’re not careful).

Some mouse concepts also just don’t apply to touches – cursors and mouse
warping, for example.

I would agree that this is a compelling argument were it not for two facts:

  1. “Touch interfaces” share all the characteristics you’ve pointed out
    with common drawing tablets, yet no drawing tablet API I have seen
    deviates from the traditional mousing APIs (with the critical
    exception of pressure sensitivity.)

  2. SDL has supported tablets-as-mice since its inception, and has
    supported tablets with pressure sensitivity since 1.3.

With touch input, gestures like tap, double tap, etc are common but can be
problematic to detect. ?A touch API could help with this by allowing the
programmer to pass time thresholds for multi-tapping and then have these
gestures passed as events.

While this may be useful…

A) Not really in the spirit of SDL to interpret user input. Perhaps a
satellite library? SDL_gestures?

B) Plenty of GUIs intended for traditional mice – not touch
interfaces – provide double- and even triple-click interfaces. Yet
all this time, Sam has apparently not been compelled to support those
at the Simple/direct Media Layer.

To contradict myself a bit though, in the spirit of argument:

C) SDL does have interfaces for key repeat, yet that facility does not
tie in with the desktop environment’s key repeat functionality, thus
negating the user’s key repeat settings.

Having said all this, I still think SDL’s current API is perfectly
well suited. I would probably favor adding a “transient” boolean field
to the mouse/pointer/touch SDL event structure before giving
"different touch events … different indices." Oh, perhaps you only
meant simultaneous touches… that would make a great deal of sense-BUT
is that not already how it’s done in SDL-on-iPhone? After all, if I
had made the iPhone, a single isolated touch would always have the
same device/touch ID, and the second simultaneous touch would always
have the second ID.

I suppose one might think that confusing if one wanted to support an
A-Down, B-Down, A-Up, A-Down situation.

I’d argue, however, that if this is a gesture your app actually needs
special support for in such a way that it would be inappropriate to
give A the 0 device/touch ID both on its first and second Down events,
you can and should implement this in your application or a satellite
library, not in SDL proper.

The low-level touch API challenges have already been faced by tablet
API designers! Keep in mind that the “pressure” field already exists
to indicate if a finger/stylus has lost contact with the screen!On Thu, Apr 2, 2009 at 12:40 PM, Holmes Futrell wrote:


http://codebad.com/

That should help. But I hope in SDL 1.3 we can get a fully functioning API
to playback video files without having to bother with
all this stuff.

yea!

Donny Viszneki wrote:

  1. Touch input. I’d be up for adding this to SDL. I previously simulated

this in the iPhone port of SDL by using SDL’s multiple mouse abilities.

What could be improved about it? Isn’t multiple pointers/mice the
right way to do things?

Doing multiple mice for multi-touch input – works – but it’s not ideal.
Here are my thoughts:

Mice are persistent, but touches come into being and cease to exist all the
time. So associating touches with a finite number of mouse indices is
logically tenuous and awkward to program. The mouse indices cease to be
meaningful (two different touch events should really have different indices)
and you can get “information” about touches that don’t even really exist (if
you’re not careful).

Some mouse concepts also just don’t apply to touches – cursors and mouse
warping, for example.

With touch input, gestures like tap, double tap, etc are common but can be
problematic to detect. A touch API could help with this by allowing the
programmer to pass time thresholds for multi-tapping and then have these
gestures passed as events.

Hmm… In the current touch input system, what is the mouse state at the
beginning and end of a touch? I’m thinking you must do a button down, button
up at the beginning and end of a touch, but I do not like to assume.

What would the new api look like? The simplest I can think of is to add
events like:

touchBegin - index, x, y
touchContinue - index, x, y (for those long and curved touches)
touchEnd - index, x, y
singleTap - x, y
doubleTab - x, y

And, with my limited imagination that all looks like info I can get from the
current multi-mouse implementation.

Can you be a little more specific about what you want to do? How do you deal
with the programmer who wants to get tripleTap and quadTap events?

Bob PendletonOn Thu, Apr 2, 2009 at 11:40 AM, Holmes Futrell wrote:

  • Holmes

SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


±----------------------------------------------------------

I was thinking of those screens you actually have to push in a little
to get it to click, sorry for being stupid thinking this was on
iPhone.On Thu, Apr 2, 2009 at 1:45 PM, Donny Viszneki <@Donny_Viszneki> wrote:

Keep in mind that the “pressure” field already exists
to indicate if a finger/stylus has lost contact with the screen!


http://codebad.com/

I really think this goes beyond the scope of SDL.

There are lots of things to deal with when it comes to video, mostly including codecs.

Perhaps a separate library, like SDL_Video could take care of that.

Pat________________________________
From: neil@cloudsprinter.com (Neil White)
To: A list for developers using the SDL library. (includes SDL-announce)
Sent: Thursday, April 2, 2009 12:32:28 PM
Subject: Re: [SDL] SDL and Videos

That should help. But I hope in SDL 1.3 we can get a fully functioning API to playback video files without having to bother with
all this stuff.

yea!

Hi Francisco,
I?don’t know any SDL_video. But currently I’m working on my project which requires a video (alike) feature.
I’m using avisynth and blit with its API to SDL surface. Of course, this is not the most efficient way. I’m running a slide show. So the perfomance is good enough for me. But I?doubt that?you?can bring it to 25/30 fps.
?
First, the down side of avisynth:
I only manage to get it compiled on MS compiler (that was forum’s advice).
?
The good thing of avisynth, I can use all existing video effects in runtime. It’s a scriptable video editing system. Therefore using it in realtime (preview mode) is not very efficient. But it’s good enough for my slide show? :slight_smile:
?
HTH
Phuoc Can HUA
?
?
/_/_/_/_/_/_ www.huaonline.com My Homepage is my Castle— On Fri, 3/4/09, Francisco Bodego Franco wrote:

From: fran@ikasplay.com (Francisco Bodego Franco)
Subject: [SDL] SDL and Videos
To: “‘A list for developers using the SDL library. (includes SDL-announce)’”
Received: Friday, 3 April, 2009, 12:13 AM

Hi everybody!!!
I need to know if it is possible to reproduce a video in .avi or .mpeg
format with SDL or another library. I have seen that there are libraries
like SDL_ttf, SDL_mixer, SDL_image… but I have not found any library
related with videos in SDL…
Someone can help me?

It is possible to play a flash video?

Thanks everybody!!!

__________ Informacion de ESET NOD32 Antivirus, version de la base de firmas
de virus 3983 (20090402) __________

ESET NOD32 Antivirus ha comprobado este mensaje.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

  Enjoy a better web experience. Upgrade to the new Internet Explorer 8 optimised for Yahoo!7. Get it now.

Hi,

Here’s a very in-depth tutorial I found while scouting round looking for
audio related stuff:

http://www.dranger.com/ffmpeg/ffmpeg.html

It basically walks you through the steps of creating a movie player with
SDL and ffmpeg. I’m unsure what ffmpeg’s abilities are regarding FLASH
are though.

James.On 14/4/2009, “Phuoc Can Hua” wrote:

Hi Francisco,
I?don’t know any SDL_video. But currently I’m working on my project which requires a video (alike) feature.
I’m using avisynth and blit with its API to SDL surface. Of course, this is not the most efficient way. I’m running a slide show. So the perfomance is good enough for me. But I?doubt that?you?can bring it to 25/30 fps.
?
First, the down side of avisynth:
I only manage to get it compiled on MS compiler (that was forum’s advice).
?
The good thing of avisynth, I can use all existing video effects in runtime. It’s a scriptable video editing system. Therefore using it in realtime (preview mode) is not very efficient. But it’s good enough for my slide show? :slight_smile:
?
HTH
Phuoc Can HUA
?
?
/_/_/_/_/_/_ www.huaonline.com My Homepage is my Castle

— On Fri, 3/4/09, Francisco Bodego Franco wrote:

From: Francisco Bodego Franco
Subject: [SDL] SDL and Videos
To: “‘A list for developers using the SDL library. (includes SDL-announce)’”
Received: Friday, 3 April, 2009, 12:13 AM

Hi everybody!!!
I need to know if it is possible to reproduce a video in .avi or .mpeg
format with SDL or another library. I have seen that there are libraries
like SDL_ttf, SDL_mixer, SDL_image… but I have not found any library
related with videos in SDL…
Someone can help me?

It is possible to play a flash video?

Thanks everybody!!!