Re: (Logging in to bjulin@cvs.ggi-project.org)

2000-09-06 Thread W.H.Scholten

Andreas Beck wrote:

  You mean for implementing "DirectSound" and friends ?
  Yeah, well they have that, but with the ALSA drivers I think the
  OSS emulation is forcing WINE to use a degraded mode; it complains
  about no direct access.  So I was thinking maybe I'd see if GSI could
  be sandwiched in there, too, supposing it has hooks for direct access.
 
 Hmm - don't think that is possible. GSI is pretty highlevel. Kind of the
 contrary what you want.

Most of the libraries aren't (the pcm lib e.g.). At least in the 0.9.x
version. Haven't updated the code in a while due to other work btw. Is
"direct access" DMA? There's code to set DMA etc., but not tested and it
needs some work.

Wouter





Re: Porting news

2000-06-17 Thread W.H.Scholten

Andreas Beck wrote:

 I'll ask on the GGI mailing list. Anyone knows where to find a working Glide
 for FreeBSD ?

I tried compiling it a while back (The version for a voodoo3). No go. I
had to change lots of things (like disabling AMD opcode generation,
makefile changes, some assembly file changes of which I'm not sure if
they were ok, etc.) and got nowhere. Didn't get any response from the
mails I sent to the 3dfx guys about the problems and my patches... [ I
guess one should get on glide-source-forge the mailing list for feedback
.. ]

Oh, also needed to install some newer binutils, actually just one
program (not sure which one it was).

   Coleman: What kind of graphics card do you have ? If it's supported by
   KGI, that would help when trying to port that part over as well ...
 
  I have a Matrox G200 and a Matrox Mystique 220. Dual-Head X.
 
 O.K. - AFAIK the Matrox cards are supported by the kgicon layer.
 
 That will help porting the native drivers over.

So, there's a porting effort underway again?
I got totally bored with finishing my attempt, but I'm willing to help
if there's a need (Not sure if I still have the glide source + my
changes lying around, I'll have a look).

Regards,

Wouter




Re: ggiplay

2000-01-15 Thread W.H.Scholten

Rubén wrote:
 
 On 2000/Jan/13, W.H.Scholten wrote:
 
  Well, not precompiled. What I mean is that it uses an abstracted system
  of pcm/mixer/synth/cd in directly accessable libraries. Compile the
  libraries for a new audio system and the server would work on the other
  API.
 
 This is a problem to the distributions. Note that if I want to pack
 this software into a Debian package, I should make a different package for
 each driver to include with the distribution, and it isn't possible. You
 should think in other solution, I think.

Good point. dlopen is needed then..
I didn't really consider binary packages as e.g. the API wasn't quite
stable yet.

 What? Two people making sound stuff? GGL hasn't still sound support,
 and I think that it would be good to use somehing like GGI for the sound
 module, as GSI seems to be. We should (Teunis also) continue with this
 discussion in other part, I'm very interested, and the GGL people has some
 ideas on the sound support that could interest you.

Ok. mail or another mailing list?

Regards,

Wouter




Re: ggiplay

2000-01-13 Thread W.H.Scholten

[EMAIL PROTECTED] wrote:
 
 Hi Wouter !

Wie geht's !

[ mail ]
 Oops - assumed he already did ...

Teunis mailed me after I posted ;)

   This is quite a bit different from your current needs which are pretty much
   streaming large amounts of PCM data in a synchronized way.
 
  Streams are handled by GSI 0.8.x. Synchronizing, well, in that case
  shared memory streams are probably the way to go (not completed in
  0.8.x).
 
 Ah. ggiplay is a simple mov-player based on the quicktime4linux library
 I wrote to have a look at the lib. So synchronization is an important issue
 for that stuff as nothing looks worse, than a movie not in sync with the text.

Yes, well, GSI's streaming is command/message based. The command to the
server is a blocksize + block data. The message from the server is the
amount of data the server has processed so if the server is too slow
(held up by disk access etc), or too fast, you can insert silence or
skip transferring a block depending on the case. That should keep the
difference reasonable but a shm/semaphore approach would be better.

   Yes - a GGI-like Lib would be interesting, as there are at least:
   OSS, Kernel native drivers, ALSA, network audio servers, dumb /dev/audios,
   the Win stuff ...
 
  Check out the library oranization of 0.9.x: gsipcm, gsicd, gsisynth
  (abstraction in this case is a mistake I think, just do midi and new
  libs for other formats), gsimixer, and (lib)gsi is the network
  connection stuff.
 
 This sounds good. You mean, that LibGSI already has the ability to as
 transparently as possible run on about every underlying sounddriver ?

Well, not precompiled. What I mean is that it uses an abstracted system
of pcm/mixer/synth/cd in directly accessable libraries. Compile the
libraries for a new audio system and the server would work on the other
API.

Contrary to graphics, there's not much point in having the sound system
dynamically determine what is available as these system are all kernel
based and very few people switch kernels or unload/reload modules just
to use another system. It would be different for using audiosystems like
NAS/esound etc. but this is a nuisance to program (a huge one! for me at
least) and not as useful as for a graphics libs.

Also, I'm a bit put off by the dlopen portability nightmare (haven't
looked at libtool yet). On a related note, I sent a patch to Neal Tucker
for his spin-2 demo (which uses dlopen and some other ld magic) for
FreeBSD, but haven't been able to get it running on OpenBSD.

Due to the abstraction used for all these libraries though, it would be
easy to make it dynamic (the OSS/devaudio/ultra etc code all use the
same api_* functions that can be set to refer to a dlopen'ed symbol).

 Great, then. I should update my copy to have a look (though it works for me
 as is :-).

Not too fast ;) 0.9.x is a devel version. Various things are broken due
to enormous changes. Also, I've been working on other things so
development has been slow last few months. But as Teunis seemed to be
thinking of writing a complete audio system I thought it would be a good
idea to let it be known how 0.9.x is organized.

Regards,

Wouter



Re: ggiplay

2000-01-12 Thread W.H.Scholten

Andreas Beck wrote:

- What do I do for sound?  I could use GSI (which does -not- work
for me...  the daemon -never- starts)...  Maybe I should look
at a GGI-style sound management library?

Why doesn't whoever wrote this contact me? Help is just an email away
and duplicating effort is a bad idea (the whole thing is BSD-2 licenced
now btw).

 Hmm - last time I looked, GSI was geared towards action style games.
 I.e. free running midi/CD plus 3D positioned sound-effects.
 
 This is quite a bit different from your current needs which are pretty much
 streaming large amounts of PCM data in a synchronized way.

Streams are handled by GSI 0.8.x. Synchronizing, well, in that case
shared memory streams are probably the way to go (not completed in
0.8.x).

 Yes - a GGI-like Lib would be interesting, as there are at least:
 OSS, Kernel native drivers, ALSA, network audio servers, dumb /dev/audios,
 the Win stuff ...

Check out the library oranization of 0.9.x: gsipcm, gsicd, gsisynth
(abstraction in this case is a mistake I think, just do midi and new
libs for other formats), gsimixer, and (lib)gsi is the network
connection stuff.

 Unifying this would be great ... but it will need quite some effort and
 study of all possible targets to get it right.

Hmm. Have a look at 0.9.x. Anyone want to help?


Wouter



Re: Keyboard vs Joystick buttons

2000-01-03 Thread W.H.Scholten

Rubén wrote:
 
 I'm giving Joystick support to GGL, and it's almost done, but I
 found a little problem. The joystick buttons are reported in a evKey event,
 so, the GGL keyboard device gets its own events and also the joystick
 ones...
 
 I open the joystick by opening a gii_input_t of type "linux-joy",
 and then calling ggiJoinInputs with the ggi_visual_t and the new
 gii_input_t.
 
 I know that I can access to event-any.origin to distingish between
 keyboard and joystick events, but how can I know which value is the keyboard
 one and which is the joystick one? In a few proofs that I've made the
 keyboard events had the 0100 value and the joystick the 0200, but I don't
 know if it is always this way.
 
 Can anybody help me, please?

I mailed a test program for gii a while back to the list. This is a
little better than the gii test demo and shows two methods:

1. giiQueryDeviceInfo
2. giiQueryDeviceInfobyNumber

and then check the number of axes.
1 has the disadvantage that one already must have received/processed an
event!

A little bit from the program:

if (device_no  -1) {
printf("giiQueryDeviceInfo returned: %d\n", giiQueryDeviceInfo(inp,
device_no, devinfo));
printf("%s (%s):\n  can generate: %x\n  num buttons: %x\n  num axes:
%x\n",
   devinfo.longname, devinfo.shortname,
   devinfo.can_generate,
   devinfo.num_buttons, devinfo.num_axes
);
}


Wouter