Re: Modifying registers

2002-11-28 Thread Fabian Cenedese


 Generally, is there a way to modify registers? Must be obvious but I'm 
blind.

set $eip = 0x42424242

Dito for the other registers.

Thanks, worked fine. Should this be added to the docs? Even knowing now
what to look for I couldn't find it. I guess this was taken from gdb's 
interface.
Are there other 'unofficial' :) features in winedbg?

bye  Fabi






Re: COM vtable inconsistencies with g++ (was SIGSEGV inIDirectDrawImpl_EnumDisplayModes)

2002-11-28 Thread Ove Kaaven

On Thu, 28 Nov 2002, Christian Costa wrote:

 Does ICOM_USE_INTERFACE_ATTRIBUTE prevent g++ to add the 8 bytes offset?

Yeah.

  From which g++ version this can be used?

Not sure, but I'm pretty sure it's been supported in Debian's 2.95.4 stuff
(which grabbed lots of stuff from cvs, I think). So I'd guess that it
probably works in 3.0.





compiling wine under cygwin - status

2002-11-28 Thread David Fraser
Hi all

This is a brief indicator on what parts of wine compile successfully 
under cygwin and what give errors. Almost all the source code compiles 
successfully, but lots of things have linking problems. Note that I 
haven't yet tested the resulting parts that did link successfully.

The significant compilation problem is in server/context_i386.c: You 
must implement get/set_thread_context for your platform.
Basically there's some code that does the threading stuff which is 
platform-specific. There are Linux and BSD and Sun variants, none of 
which work under cygwin ... Basically sys/ptrace.h is what's missing.
This lets the process interrupt a child process and get/set its 
registers. Does anyone have any idea what the best way to write a 
replacement for cygwin would be? Maybe I need to ask the cygwin list.

My plan is to go through each one that doesn't link, look at all the 
errors, and  categorize them (many are the same problem spread accross 
various dlls), so that we can tackle the more widespread problems
first... Any help with this appreciated :-)

David

dlls/
 advapi32 has errors
 avicap32 has errors
 avifil32 has errors
 cabinet has errors
 comcat  links
 comctl32  links
 commdlg has errors
 crtdll has errors
 crypt32  links
 d3d8 has errors
 dciman32  links
 ddraw has errors
 devenum  links
 dinput  links
 dinput8  links
 dplay  links
 dplayx  links
 dsound has errors
 gdi has errors
 glu32  links
 icmp  links
 imagehlp  links
 imm32  links
 kernel has errors
 lzexpand has errors
 mapi32  links
 mpr  links
 msacm has errors
 msdmo  links
 msimg32  links
 msisys has errors
 msnet32  links
 msvcrt has errors
 msvcrt20 has errors
 msvideo has errors
 netapi32  links
 ntdll has errors
 odbc32  links
 ole32 has errors
 oleaut32 has errors
 olecli has errors
 oledlg  links
 olepro32  links
 olesvr has errors
 opengl32 has errors
 psapi has errors
 qcap  links
 quartz  links
 rasapi32  links
 richedit has errors
 rpcrt4  links
 serialui  links
 setupapi has errors
 shdocvw  links
 shell32 has errors
 shfolder  links
 shlwapi  links
 snmpapi  links
 sti  links
 tapi32  links
 ttydrv has errors
 twain has errors
 url  links
 urlmon has errors
 user has errors
 version has errors
 win32s has errors
 winaspi has errors
 winedos has errors
 wineps has errors
 wininet has errors
 winmm has errors
 winnls has errors
 winsock has errors
 winspool has errors
 wintrust  links
 wow32  links
 wsock32  links
 x11drv has errors
library/
 libwine.dll links successfully
miscemu/
 requires ntdll.dll
ole/
 libwine_uuid.a links successfully
programs/
 avitools/aviinfo.exe links
 avitools/aviplay.exe links
 clock/clock.exe links
 cmdlgtst/cmdlgtst.exe links
 control/control.exe links
 expand/expand.exe links
 osversioncheck/osversioncheck.exe links
 progman/progman.exe links
 regapi.exe/regapi.exe links
 regsvr32/regsvr32.exe links
 regtest/regtest.exe links
 uninstaller/uninstaller.exe links
 view/view.exe links
 wcmd/wcmd.exe links
 winefile/winefile.exe links
 winemine/winemine.exe links
 winepath/winepath.exe links
 winhelp/winhelp.exe links
 winhelp/hlp2sgml.exe links
 winver/winver.exe links
 winhelp.exe links
server/
 context_i386.c has compile error (You must implement
get/set_thread_context for your platform)
tools/
 bin2res.exe links
 fnt2bdf.exe links
 makedep.exe links
 widl/widl.exe links
 winebuild/winebuild.exe links
 winedump/winedump.exe links
 wmc/wmc.exe links
 wpp/libwpp.a links
 wrc/wrc.exe links
unicode/
 libwine_unicode.dll links
 libwine_unicode.a links









Re: Doc building update, finally

2002-11-28 Thread speeddymon
- Original Message -
From: Vincent Béron [EMAIL PROTECTED]
To: Dustin Navea [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, November 27, 2002 11:54 PM
Subject: Re: Doc building update, finally


 Dustin Navea wrote:
  Vincent,
 
  I finally got SGMLtools installed and went to build the doc.  Only
  problem is that instead of it outputting to files it prints the output
  on screen.  Is there a flag that I may be missing or what?  I'm using
  SGMLTools pre-compiled and built..  Downloaded from
 
ftp://ftp.slackware.com/pub/slackware/slackware-current/extra/sgml-tools-1.0
.9-i386.tgz
  and installed using pkgtool which comes with slackware..
 
  -Dustin
 
  P.S. Any outputs you need say from man or --help on docbook2html?

 I'll download the package and check what's inside. It'll be less things
 sent by email ;)
 Don't expect an answer tomorrow though, it may take a few days because
 of Real Lide(tm). But I'll definetly look into it (could be the same
 problem as Joerg, which is that the options to specify a dsl file are
 different).

I dont think its that, in fact I checked, -d specifies the dsl file, so Im
not sure what it is, as soon as I get around to configuring Lin to use my
new DSL I will check more into it..

Right now im on windows getting everything working there..

-Dustin






Re: Doc building update, finally

2002-11-28 Thread speeddymon
- Original Message -
From: Vincent Béron [EMAIL PROTECTED]
To: Dustin Navea [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, November 27, 2002 11:54 PM
Subject: Re: Doc building update, finally


 Dustin Navea wrote:
  Vincent,
 
  I finally got SGMLtools installed and went to build the doc.  Only
  problem is that instead of it outputting to files it prints the output
  on screen.  Is there a flag that I may be missing or what?  I'm using
  SGMLTools pre-compiled and built..  Downloaded from
 
ftp://ftp.slackware.com/pub/slackware/slackware-current/extra/sgml-tools-1.0
.9-i386.tgz
  and installed using pkgtool which comes with slackware..
 
  -Dustin
 
  P.S. Any outputs you need say from man or --help on docbook2html?

 I'll download the package and check what's inside. It'll be less things
 sent by email ;)
 Don't expect an answer tomorrow though, it may take a few days because
 of Real Lide(tm). But I'll definetly look into it (could be the same
 problem as Joerg, which is that the options to specify a dsl file are
 different).

I dont think its that, in fact I checked, -d specifies the dsl file, so Im
not sure what it is, as soon as I get around to configuring Lin to use my
new DSL I will check more into it..

Right now im on windows getting everything working there..

-Dustin






Re: [RFC] Winelib enhancements

2002-11-28 Thread David Fraser
Martin Wilck wrote:


Am Don, 2002-11-28 um 07.35 schrieb Dimitrie O. Paun:

 

-CC=gcc
+CC=wcc

-RC=windres
+RC=wrc

   


I can't follow you here. You seem to have been porting Applications
using Unix-Style Makefiles. I'd guess the vast majority of Applications
comes with Windows VC++ project files (.dsp) and workspaces (.dsw). 

This is probably true, although a lot of the already-portable open source
applications like Mozilla that Dimi's thinking of can use Unix-Style 
Makefiles as well.


In any case, IMO this is what's winemaker is all about. Your idea of
introducing compatibility tools is nice but somewhat limited in scope.
What we really need is a much more intelligent winemaker.
 

What would be really nice is if the new intelligent winemaker produced a 
Makefile,
rather than doing the actual build. That way it would be less opaque to 
debug any problems
as you could see exactly what the make was doing, and alter it if 
necessary. It also
means people won't have to keep on using VC++. Or does winemaker do this 
already?

David




Re: [RFC] Winelib enhancements

2002-11-28 Thread Martin Wilck
Am Don, 2002-11-28 um 11.37 schrieb David Fraser:
 means people won't have to keep on using VC++. Or does winemaker do this 
 already?

Yes. Actually, it produces configure and Makefile.in.
Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:[EMAIL PROTECTED]
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Access Database

2002-11-28 Thread Fabian Cenedese
Hi

My app works with an Access mdb. Opening and reading goes fine. The
problem comes with writing. There is a table called Nodes. I delete it and
then create a new one to fill in my data. For some strange reason the table
gets created but with a name Node, the s was munched. Even more strange
that it works with other tables after this one. I already stepped through the
MFC.dll and checked critical places (strlen, SysAllocString etc) but it always
looked fine. Did anyone ever had something similar? Or can work with mdbs
without problems?

Thanks

bye  Fabi







Re: [RFC] Winelib enhancements

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 04:23 am, Martin Wilck wrote:

I've addressed both of these on the web page :)

 I can't follow you here. You seem to have been porting Applications
 using Unix-Style Makefiles. I'd guess the vast majority of Applications
 comes with Windows VC++ project files (.dsp) and workspaces (.dsw).

From the page:

Fortunately, most OSS applications have a build system based around the 
 MinGW tool chain. Sometimes they have alternative build systems for the 
 Borland and/or Microsoft tools, but more often than not they have to 
 support the MinGW tools out of necessity. I will cover this class of 
 applications for the rest of this section.

I should have been more clear: this message address this class of apps.
The closed source ones have a VC++ build system, as you say, and are
covered by winemaker. Not the focus of my efforts, though.

 In any case, IMO this is what's winemaker is all about. Your idea of
 introducing compatibility tools is nice but somewhat limited in scope.
 What we really need is a much more intelligent winemaker.

From the page:

Before I begin, I think I need to explain why we have to treat these
 applications any differently. Why don't we just run winemaker, and get
 it over with? The reason is quite simple: people are attached to their
 build process, and for good reason. If we are to have our modifications
 included in their tree, we can not simply submit a new build system. 
 Such a patch would never be accepted. Needless to say, having these
 modifications included in their build process is important.

If we are to just generate a parallel build system, we'd be wasting out
time. We have to make it simple so we have a chance of the app maintainers
doing the porting themselves. There are thousand of apps, all we can do is
port a few. But if we want them to recognize Wine as a platform, and port
to it, we can not expect them to simply accept a parallel set of makefiles
which are just a bit different from what they have.

-- 
Dimi.





RE: Missing SignalObjectAndWait

2002-11-28 Thread Sean Mitchell

 I think that the first problem is that if foo.exe.so links with
 libpthread.so, then libpthread.so gets loaded and initialized before
 ntdll.dll.so is loaded and overrides the pthread functions in the C
 library - big trouble.
 
 This migh conceivable be worked around using a wrapper like I 
 described
 for libmfc.so except this time the wrapper would just load libntdll.so
 and the wrapped executable would link with libpthread.so.
 
 Then I guess it should work since threaded opengl libraries 
 are supposed
 to work.
 
 But is there really an advantage to using pthread rather than 
 the Win32
 threading functions when porting a Windows application? After all one
 should not have to change the code when porting with Winelib...

Without SignalObjectAndWait() I imagine that many medium sized to large apps
would have to consider alternative threading libraries... the app I'm trying
to port uses it quite a bit to prevent race conditions. As an interested
party rather than a developer I'd suggest that the effort would be best
spent implementing SignalObjectAndWait() before worrying about pthread
compatibility, but I don't know the extent of the work involved.

For my own porting project I'm now considering at a clean port without any
Windows calls - fortunately we only use the thread calls and some file
system calls from the Win32 API - but I suspect that this might present a
roadblock to other projects hoping for a painless port.

In any case, you folks have done a great job with Wine and winelib, and I
thank you for it.

Cheers,

Sean




Re: compiling wineserver under cygwin - thread context

2002-11-28 Thread David Fraser
David Fraser wrote:


The significant compilation problem is in server/context_i386.c: You 
must implement get/set_thread_context for your platform.
Basically there's some code that does the threading stuff which is 
platform-specific. There are Linux and BSD and Sun variants, none of 
which work under cygwin ... Basically sys/ptrace.h is what's missing.
This lets the process interrupt a child process and get/set its 
registers. Does anyone have any idea what the best way to write a 
replacement for cygwin would be? Maybe I need to ask the cygwin list. 

After some more investigating ... Dimi added a request for ptrace 
support in cygwin in November 2000:
http://cygwin.com//cgi-bin/cygwin-todo.cgi?20001120.094813
But I can't see anything that's been done about it. So I thought I would 
clarify here exactly what should
be done before trying to do it...

The platform-specific bits define the functions get_thread_context and 
set_thread_context
which each use ptrace (in the existing platforms) to get / set registers 
for that thread.
The requests given to ptrace are:
PTRACE_PEEKUSER / PTRACE_POKEUSER   (for getting / setting debugging 
registers)
PTRACE_GETREGS / PTRACE_SETREGS   (for getting / setting general registers)
PTRACE_GETFPREGS   (for getting / setting floating point registers)
so it's fairly simple...
As far as I can see the only places get_thread_context and 
set_thread_context are used is in
scheduler/thread.c, to implement WINAPI GetThreadContext and 
SetThreadContext

Now from reading through the sources Wine uses clone() to create 
threads, using its own implementation
of clone for linux if not available that looks like it wouldn't work 
with cygwin...
Cygwin has a pthreads implementation that maps onto the Windows Thread 
functions.

So part of the question is, in order to get Wine to function properly on 
Cygwin, what is the right
threading approach to take? Am I right in thinking that the current code 
wouldn't work on Cygwin?

Approach 1 would be to simply call the Windows Thread functions from 
Wine if compiled on Cygwin
That would involve the nastiness of including the w32api headers...

Approach 2 would be to just use the Windows 
GetThreadContext/SetThreadContext functions,
since they're just looking at registers etc. These could then be wrapped 
up in an (incomplete) ptrace
implementation for cygwin, which we would call.

Approach 3 would be to reimplement the appropriate parts of ptrace for 
cygwin in some other way.

I'm guessing Approach 2 is right.
Anyway any advice would be appreciated

David





Re: compiling wineserver under cygwin - thread context

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 09:51 am, David Fraser wrote:
 So part of the question is, in order to get Wine to function properly on
 Cygwin, what is the right
 threading approach to take? Am I right in thinking that the current code
 wouldn't work on Cygwin?

I say, let's get the compiling and linking working, and then worry about
actually running it... :)

 As far as I can see the only places get_thread_context and 
 set_thread_context are used is in
 scheduler/thread.c, to implement WINAPI GetThreadContext and 
 SetThreadContext

So actually a first approximation for [sg]et_thread_context for
Cygwin would be one that does nothing. Then we can try submitting
patches to Cygwin (Approach 2), so that other apps can make use
of ptrace, if necessary.

-- 
Dimi.





Re: compiling wineserver under cygwin - thread context

2002-11-28 Thread David Fraser
Dimitrie O. Paun wrote:


On November 28, 2002 09:51 am, David Fraser wrote:
 

So part of the question is, in order to get Wine to function properly on
Cygwin, what is the right
threading approach to take? Am I right in thinking that the current code
wouldn't work on Cygwin?
   


I say, let's get the compiling and linking working, and then worry about
actually running it... :)

 

As far as I can see the only places get_thread_context and 
set_thread_context are used is in
scheduler/thread.c, to implement WINAPI GetThreadContext and 
SetThreadContext
   


So actually a first approximation for [sg]et_thread_context for
Cygwin would be one that does nothing. Then we can try submitting
patches to Cygwin (Approach 2), so that other apps can make use
of ptrace, if necessary.

 

OK, done that. So now wineserver.exe actually links :-) And it runs too!
However can't yet see whether its going to do anything as in order to 
actually run programs
it looks like we need tolink miscemu/main.c
Problem here being that it wants to link with ntdll, which doesn't build 
yet.
That still needs a lot more work... In the mean time a very simple patch 
that
does nothing for context_i386.c is below in case anyone else wants to try...
David

Index: server/context_i386.c
===
RCS file: /home/wine/wine/server/context_i386.c,v
retrieving revision 1.24
diff -u -r1.24 context_i386.c
--- server/context_i386.c   8 Nov 2002 18:55:31 -   1.24
+++ server/context_i386.c   28 Nov 2002 15:48:01 -
@@ -76,7 +76,24 @@
#define PTRACE_SETDBREGS PT_SETDBREGS
#endif

-#ifdef linux
+#if defined(__CYGWIN__)
+
+/* retrieve a thread context */
+static void get_thread_context( struct thread *thread, unsigned int 
flags, CONTEXT *context )
+{
+/* FIXME: implement this */
+file_set_error();
+}
+
+
+/* set a thread context */
+static void set_thread_context( struct thread *thread, unsigned int 
flags, const CONTEXT *context )
+{
+/* FIXME: implement this */
+file_set_error();
+}
+
+#elif defined(linux)
#ifdef HAVE_SYS_USER_H
# include sys/user.h
#endif





Re: [RFC] Winelib enhancements

2002-11-28 Thread Martin Wilck
Am Don, 2002-11-28 um 15.24 schrieb Dimitrie O. Paun:

 I've addressed both of these on the web page :)
Well, I should have read it more thoroughly, I guess :-/

 If we are to just generate a parallel build system, we'd be wasting out
 time. We have to make it simple so we have a chance of the app maintainers
 doing the porting themselves.
I understand your reasoning now.

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:[EMAIL PROTECTED]
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: How to debug wineserver

2002-11-28 Thread Tony Lambregts
Rajesh Akkineni wrote:


hi,
is there any way we can debug the wineserver?
thanks
Rajesh


 

I am not sure this is the right answer since I am not a wine guru. 
However when you start wineserver you can start it with debug levels 
i.e., wineserver -d1. Setting d0 turns winserver debugging off.  I'm 
not sure what you are asking this for.

--

Tony Lambregts






Chronic crash on Photoshop

2002-11-28 Thread Robert North
Can someone look at the bug I raised about Photoshop crashing wine, (and 
potentially the whole of X11 and Linux)
http://bugs.winehq.com/show_bug.cgi?id=1165

It's probably the most extreme bug I've seen on Linux ever.

I wasn't sure if this was the appropriate place to post this request,
so feel free to correct me.

Cheers
   -Rob.




Re: Modifying registers

2002-11-28 Thread Tony Lambregts
Fabian Cenedese wrote:




 Generally, is there a way to modify registers? Must be obvious but 
I'm blind.

set $eip = 0x42424242

Dito for the other registers.


Thanks, worked fine. Should this be added to the docs? Even knowing now
what to look for I couldn't find it. I guess this was taken from gdb's 
interface.
Are there other 'unofficial' :) features in winedbg?


I will add this as part of the Advanced Debuging Techniques section of 
the Developers Guide. (working on it.)

--

Tony Lambregts






Re: How to debug wineserver

2002-11-28 Thread Martin Wilck
Am Don, 2002-11-28 um 17.16 schrieb Tony Lambregts:
 is there any way we can debug the wineserver?

 I am not sure this is the right answer since I am not a wine guru. 
 However when you start wineserver you can start it with debug levels 
 i.e., wineserver -d1. Setting d0 turns winserver debugging off.

Starting wine with -debugmsg trace+server works quite well.
Furthermore, wineserver is a true Unix program. You can run in through
gdb. I often run wine normally, then start gdb and simply attach to the
running wineserver process.

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:[EMAIL PROTECTED]
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: [PD-announce] Announce: Vstserver, vstlib, vstladspa and k_vst~

2002-11-28 Thread Kjetil S. Matheussen


On Wed, 27 Nov 2002, Kjetil S. Matheussen wrote:



 vst ladspa plugin v0.0.1 - alpha
 -


Oops, uploaded a totally wrong file for this one. The correct one
is now http://www.notam02.no/arkiv/src/ladspavst.tar.gz


-- 






Announce: Vstserver, vstlib, vstladspa and k_vst~

2002-11-28 Thread Kjetil S. Matheussen

VSTServer V0.0.1.
-
First release. Beta, but usable.


ABOUT

Vstserver is a wine program that must be running when using programs
using vstlib.

Vstlib is a library that can be used by programs to run windows
vst audio plugins under linux/freebsd/i386solaris/etc.


RUNNING
Vstserver is started like this: wine vstserver.so.
You probably want to set the VST_PATH environment variable pointing
to your plugins first.


DEVELOPMENT
Vstserver is released under the GPL, and vstlib under LGPL.
If there comes many source-contributions, I will probably make it
a sourceforge project. To use vstlib in a program, look at
the tests/exampleclient program, and various vst plug-in documentation.
The interface to the vstlib consists only of two functions (new/delete),
the rest is like you would do when programming for windows, macos(X),
beos, irix, etc.


CURRENT STATUS
Vstserver seems to be very stable. I have not found any plug-ins
that wont run, and I am not able to hear any latency. And plug-ins does not
seem to cause more cpu-power than under windows.
No GUI or graphics-support yet.


BUGS
1. When running the ladspa listplugins program many times in a row,
I get the following errors before the server freeze:

err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:region:CombineRgn Invalid rgn=
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:region:CombineRgn Invalid rgn=
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:region:CombineRgn Invalid rgn=
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
err:clipping:CLIPPING_UpdateGCRegion hVisRgn is zero. Please report this.

I dont know what this is. Its not errors coming from the vstserver program.
It seems to be related to X, allthough no graphics is used in the vstserver.
I hope its just the buggy libXrender.so library that wine shouts about each
time it starts.

2. Shared memory handlig might be faulty. I suspect that it doesnt free
resources. (see server/shmhandler.c)

3. I havent read the vst plug-in documentation yet, and dont know everything
about it. This especially goes for the AudioMasterCallback function, which
for now just returns 1. I guess some more work needs to be done in this area,
and for the various dispatch opcodes too.

4. The processReplacing function in vstlib should perhaps be made just by 
calling the
process fuction. But I dont understand the difference between processReplacing
and processing.


FUTURE
Add GUI and graphics support to the server (help wanted). And maybe make a
DX-plugin server. (would be fun running pi-warp under linux).


CREDITS
vstserver and vstlib are made by Kjetil S. Matheussen / Notam.
[EMAIL PROTECTED]

Some programming hints is gathered by looking at the pd vst-object plugin~ 
source
and the jack soundserver source.




vst ladspa plugin v0.0.1 - alpha
-

Makes vst plugins located in $VST_PATH
appear as ladspa plugins.

I'm not sure how well this one actually works.
The northpole plugin seems to work, but others
don't. Oh well, its alpha for now.




k_vst~, a Pd tilde object for hosting VST plug-ins.
---

   This is really just the plugin~ source made by Jarno Seppänen,
   but with a few lines changed (very few that is) to make it
   work with vst-plugins using the vstlib.

   The name was changed from plugin~ to k_vst~ to avoid nameclash
   with the plugin~ object running ladspa plugins.

   This object is for i386 non-windows (ie. linux/freebsd) only.

   This one works very well!




-

vstserver, ladspavst and k_vst~ are open-source programs made at Notam /
Oslo, and can be downloaded from from http://www.notam02.no/arkiv/src/


-- 





Re: [RFC] Winelib enhancements

2002-11-28 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

   However, these tweaks are really annoying in the initial
   stages of the port, and would be so nice if we had a nice
   compiler wrapper (call it wcc) that would do that behind
   the scenes, so that the only modification to the makefile
   would be:
 
 -CC=gcc
 +CC=wcc
 
   Q: Alexandre, would you accept such a utility in the tree?

I don't know, I don't think you can write a one-size-fits-all script,
different apps will require different options, and then it will get
even more confusing IMO if you have two different ways of doing it
depending on your options. Maybe we should simply have a script
example in the documentation that people can adapt and ship with their
app if the makefile really makes it hard to set options.

 -RC=windres
 +RC=wrc
   
   This would mean moving the resources out of the .spec.c
   file, and exporting the resources variable so we can link
   it into the .spec.c file.
 
   Q: Alexandre, is this acceptable? Does it warrant discussion?

I don't think that's necessary. Using .o files has a number of
problems, and it's really cleaner to use .res IMO. It's also more
along the lines of how Windows does it, and allows you to keep using
windres if you want, instead of being forced to switch to wrc.

   2. Our linking process is quite different from the standard
  one which uses gcc/ld to do the linking. We generate
  intermediate files (.spec.c files), and use different flags.
  Again, the solution for this (to at least help initial
  porting efforts) would be a wrapper script that does this,
  that can be used instead of ld. And so the question comes
  back again, to haunt us: is this needed/wanted/acceptable?

Yes, I think we want a wrapper like dllwrap to do all that. I'm not
sure a script would be enough, we may want a full-fledged C program.
The idea would be that you do something like:

  winewrap *.o *.res -o foo -lwhatever

and it builds the .spec.c, compiles it, links everything into
foo.exe.so, and builds a foo executable (which may be a wrapper script
or a real ELF binary). This also (mostly) solves the Running issues:
you still have a .exe.so file, but you don't really need to worry
about it. You simply run foo and everything works.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: COM vtable inconsistencies with g++ (was SIGSEGV in IDirectDrawImpl_EnumDisplayModes)

2002-11-28 Thread Christian Costa
Ove Kaaven wrote:


On Thu, 28 Nov 2002, Christian Costa wrote:


Does ICOM_USE_INTERFACE_ATTRIBUTE prevent g++ to add the 8 bytes offset?



Yeah.


From which g++ version this can be used?



Not sure, but I'm pretty sure it's been supported in Debian's 2.95.4 stuff
(which grabbed lots of stuff from cvs, I think). So I'd guess that it
probably works in 3.0.




Thanks!
It works fine with the version 2.96 I use.






Re: [RFC] Winelib enhancements (Compiler)

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 01:35 pm, Alexandre Julliard wrote:
  -CC=gcc
  +CC=wcc
 
Q: Alexandre, would you accept such a utility in the tree?

 I don't know, I don't think you can write a one-size-fits-all script,
 different apps will require different options, and then it will get
 even more confusing IMO if you have two different ways of doing it
 depending on your options. Maybe we should simply have a script
 example in the documentation that people can adapt and ship with their
 app if the makefile really makes it hard to set options.

Sorry, maybe I was unclear. This wrapper will probably be a small C
program that understands gcc's options. It needs to do the following:
  -- add the include dirs first
  -- add -fshort-wchar
  -- add -D__int8=char -D__int16=short -D__int32=int -D__int64=long long
  -- remove cygwin options not recognized by the Linux gcc

If you think about them, it kindda makes sense, as under a Windowish
environment these options are _implied_ in the invocation of gcc,
just like -I /usr/include is implied when you invoke gcc under Linux.

So to be honest, I don't see why it would be confusing, and second,
why we can not have a one-size-fits-all wrapper.

As I said, this is more a porting tool, to help you with the initial port.
If the app has a configure script, you would want to instrument it to
generate the correct flags for the compiler, and use gcc directly. But this
is time consuming, and you have to worry about so many things at the 
beginning, I find it so much easier to have something working, and tweak
only one thing at a time.

-- 
Dimi.





Re: [RFC] Winelib enhancements (Linking)

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 01:35 pm, Alexandre Julliard wrote:
 Yes, I think we want a wrapper like dllwrap to do all that. I'm not
 sure a script would be enough, we may want a full-fledged C program.
 The idea would be that you do something like:

   winewrap *.o *.res -o foo -lwhatever

Excellent, exactly what I had in mind too. And you are right, it will
take care of the running business as well. I'll add to the pages.

-- 
Dimi.





Re: [RFC] Winelib enhancements (wrc)

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 01:35 pm, Alexandre Julliard wrote:
 I don't think that's necessary. Using .o files has a number of
 problems, and it's really cleaner to use .res IMO. It's also more
 along the lines of how Windows does it, and allows you to keep using
 windres if you want, instead of being forced to switch to wrc.

I did not mean to say that we should chance the way wrc works.
Just enhance it to support a direct to .o compilation mode.

As for more along the lines of how Windows does it is an academic
issue: all OSS projects coding for Win32 use windres, and they
compile directly to .o. Keep in mind that windres can be used just
like wrc (.rc - .res), but nobody uses it like that.

The problem with that of course is that the makefiles have the
resource.o file in all sorts of variables, etc. You can go and
get rid of it from there manually for the initial porting effort, 
but it's actually not trivial to come up with solution that's 
acceptable to the app maintainer. Keep in mind that due to these 
thing working only on Windows, most of the apps don't have 
(and don't need) a configure script.

Tweaking build processes is nasty, nasty business. Even the nice
and clean ones are hard to understand, let alone the fact that most
are ... weak. :) For a big project, you're in for a lot of pain. 
Most people will no go through with it if they know they don't have
a chance of integrating their changes upstream. Or maybe that's
just me...

-- 
Dimi.





Re: [RFC] Winelib enhancements (wrc)

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 02:26 pm, Alexandre Julliard wrote:
 That was my point. If you replace the .rc.o rule by .rc.res and .res.o
 then windres happily builds the .res for you, and it still works on
 Windows too. 

This is simple, I agree. Adding a .rc - .res is simple, and portable.

 Yes you need to change the link command-line but I don't
 think it's that bad.

What about having to deal with the .o file that is present all over the
place? That is the problem. And without a configure script, it becomes
nasty.

 Generating .o files in the proper format for linking directly is
 fairly hard to do cleanly in ELF; wrc actually supports generating C
 files, and we used to do it that way, but you need all kinds of tricks
 to make them integrate properly in the PE header.

In fact, I had something a lot simpler in mind. Currently, we define
a variable called resources in the .spec.c file, which is later used
in the nt_header structure. The idea was to simply generate the
resources tree in a separate .c file, rename it to something like 
__wine_spec file name_resources, and make it non-static.
Later, we can use it in the nt_header structure, just like we do right
now. We still need to transfer the size of the resources...

-- 
Dimi.





Re: [RFC] Winelib enhancements (wrc)

2002-11-28 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 In fact, I had something a lot simpler in mind. Currently, we define
 a variable called resources in the .spec.c file, which is later used
 in the nt_header structure. The idea was to simply generate the
 resources tree in a separate .c file, rename it to something like 
 __wine_spec file name_resources, and make it non-static.
 Later, we can use it in the nt_header structure, just like we do right
 now. We still need to transfer the size of the resources...

The biggest problem is if you want to support multiple resource
files. But as long as you don't break the current .res support that
wouldn't matter too much I guess.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: wglCreateLayerContext?

2002-11-28 Thread Lionel Ulmer
 This OpenGL method is currently a stub, looking at the MSDN
 documentation I can't see why this is the case given the fairly complete
 GL implementation Wine has. Is it that we cannot handle layering
 properly in X or something?

Well, the case 'iLayerPlane == 0' would be easy as it's the main plane.. But
do tell me how you plan to do OpenGL underlay and overlay planes using GLX ?

Maybe there is a GLX extension to that effect, but I am not aware of it.

Moreover, do you actually have an application using this ?

   Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/




Re: Last one for today :-)

2002-11-28 Thread Vincent Béron
Le jeu 28/11/2002 à 17:24, Lionel Ulmer a écrit :
 re-reHi...
 
 This patch implements the 'GetRenderTarget' method for the IDirect3DDevice
 COM object. It is independant from all previously submitted patches (but to
 prevent 'fudging', it is better to commit after the GetDirect3D AddRef fix).
 
 With this series of patch, the Boids demo from the DX6 SDK is now running
 (it's not working because we are lacking some D3D code, but at least it does
 not crash :-) ).
 
 Changelog:
  - implement GetRenderTarget

A bit too much work on your part I bet, as you forgot to attach the
patch ;-)

Vincent





wine preempt patch (fwd)

2002-11-28 Thread Matthias Rieber
Hi,

is there are known issue with the preempt patch for the kernel? When I
apply that patch, non-open-gl games doesn't run smooth, without the
patch they run nearly smooth (especially StarCraft  BaldursGate).
OpenGL games are alway fine.

matthias




Re: [RFC] Winelib enhancements (wrc)

2002-11-28 Thread Dimitrie O. Paun
On November 28, 2002 04:19 pm, Alexandre Julliard wrote:
 The biggest problem is if you want to support multiple resource
 files. But as long as you don't break the current .res support that
 wouldn't matter too much I guess.

Yeah, but it's very limitted. I forgot about the multi-file part.
Hmmm... Me don't like this. What else can we do?

What about this:
  -- currently, makefiles have such a rule:

%.o: %.rc
$(WINDRES) $ $@

  -- it's easy enough to split it like so:

%.res: %.rc
$(WINDRES) $ $@

%.o: %.res
$(RC) $@ $

And the WINDRES and RC variables will be defined as such:

in MingW:
WINDRES = windres
RC = windres

in Winelib:
WINDRES = wrc
RC = utility_that_creates_dummy_empty_object_file

Which leaves just the linking a bit different...

Even better, we can just remember the .res file in the
dummy object file, and have the link wrapper recover it 
from there, so we just have to redefine LD, instead of
modifying the link target.

This way you should be able to compile a Win32 app under
Winelib with a few changed definitions in the Makefile:
 CC, WINDRES, RC, LD
and split the .rc.o rule into .rc.res, and .res.o.

Now that's easy. How about it?

-- 
Dimi.





[RFC] Wine headers

2002-11-28 Thread Dimitrie O. Paun
Alexandre,

Patrik brought up the header location sometime ago, in this thread:
  http://www.winehq.com/hypermail/wine-devel/2002/10/index.html#540

At the time, I thought it is a bit premature, that we have other
things to do. Now I realize that this is one of those highly visible
external things, that would be a _lot_ better to fix before people
start using Winelib. Otherwise will piss people off when we change,
or we will not change because people are already using the headers.

Both versions are not good, and I think we can fix them now without
too much pain.

Here is my proposal:
  ${prefix}/include/win32  -- standard Win32 headers
  ${prefix}/include/msvcrt -- MS Visual C Runtime library
  ${prefix}/include/wine   -- Wine specific headers

It is simple (to understand  implement), clean, and pretty.
And I think it solved Patrik's problem (even if I can't quite
understand what the problem is from the first message :)),
plus a bunch of other things (like making it easy to use other
headers for the Win32 API, etc). And best of all, it seems to 
be easily implementable, no?

-- 
Dimi.





Re: COM vtable inconsistencies with g++ (was SIGSEGV in IDirectDrawImpl_EnumDisplayModes)

2002-11-28 Thread Sylvain Petreolle
Do you know RedHat's gcc 2.96 has SERIOUS bugs and that its support has
been totally dropped ?
It's update time.
 Thanks!
 It works fine with the version 2.96 I use.
  

=
Sylvain Petreolle
[EMAIL PROTECTED] 
Fight against Spam ! http://www.euro.cauce.org/en/index.html
ICQ #170597259

Don't think you are. Know you are. Morpheus in Matrix, chapter 15.

___
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com




Doc Build, Diablo II Regression Test, and TreeView Patch Test Updates

2002-11-28 Thread Dustin Navea



Vincent, Alexandre, and Dimi

Grrr, Im really starting to not like 
Linux'sPPPoE support...

I have tried every version of pppd and pppoe that 
is available besides CVS (and thats because I cant get online in Linux to get 
it) in order to get my DSL workin in Linux and I am giving up until I can afford 
to get a DSL Router (hopefully next week). So until then, I will be unable 
to do any regression testing on Diablo II and will be unable to test out any of 
the most recent patches to verify that they fix problems with my 
setup...so until nextWednesday I will probably just lurk on 
the lists

-Dustin


Re: Doc Build, Diablo II Regression Test, and TreeView Patch Test Updates

2002-11-28 Thread Dustin Navea
- Original Message -
From: Dimitrie O. Paun [EMAIL PROTECTED]
To: Dustin Navea [EMAIL PROTECTED]; Wine Developers
[EMAIL PROTECTED]
Sent: Friday, November 29, 2002 5:41 AM
Subject: Re: Doc Build, Diablo II Regression Test, and TreeView Patch Test
Updates


 On November 29, 2002 12:31 am, Dustin Navea wrote:
  Grrr, Im really starting to not like Linux's PPPoE support...

 I know, PPPoE can blow chunks sometimes. I've switched to cable,
 and I'm not going back! :)

A long time ago in an apartment complex not too far away ;) I had cable and
got evicted and had to cancel it.  If I had Time Warner in this complex
instead of US Online I would have gotten cable, but this was all that I
could get and plus it _lowered_ my total phone bill by about $15 a month,
long story I will tell later..

  so until next Wednesday I will probably just lurk on the lists

 Don't worry -- the treeview patch I've submitted is not supposed
 to fix anything just yet. Oh man, sooo many things to do, so
 little time...


lol, I hear ya, it looks like it is a step in the right direction at least,
I will have to admit that at first glance I had thought you removed some
essential stuff, but then I looked more carefully, so I should shut up now
;)

-Dustin






Re: Doc Build, Diablo II Regression Test, and TreeView Patch Test Updates

2002-11-28 Thread Dimitrie O. Paun
On November 29, 2002 12:31 am, Dustin Navea wrote:
 Grrr, Im really starting to not like Linux's PPPoE support...

I know, PPPoE can blow chunks sometimes. I've switched to cable,
and I'm not going back! :)

 so until next Wednesday I will probably just lurk on the lists

Don't worry -- the treeview patch I've submitted is not supposed
to fix anything just yet. Oh man, sooo many things to do, so
little time...

-- 
Dimi.





small updates to debugger.sgml

2002-11-28 Thread Tony Lambregts
Before I could feel right about adding Advanced Debugging Techniques 
to the documnetation I needed to update the documentation on the 
debugger. There is still one section that is out of date (that I am 
aware of). The section that I am refering to is  as follows

Program hangs, nothing happens

Switch to UNIX shell, get the process-ID using ps -a | grep wine, and 
do a kill -HUP pid (without the  and ). Wine will then enter its 
internal debugger and you can proceed as explained above. Also, you 
can use --debug switch and then you can get into internal debugger by 
pressing Ctrl-C in the terminal where you run Wine.



This is _wrong_ since neither work. I have added a fix me message in 
front of this since I am unable to come up with anything usefull to 
replace it.

If anyone has a usefull suggestion I would appreciate it.


Change log: Update the debugger documentation for current usage.

Files: /documnetation/debugger.sgml

--

Tony Lambregts

Index: debugger.sgml
===
RCS file: /home/wine/wine/documentation/debugger.sgml,v
retrieving revision 1.13
diff -u -r1.13 debugger.sgml
--- debugger.sgml   1 Oct 2002 18:13:09 -   1.13
+++ debugger.sgml   29 Nov 2002 06:08:53 -
@@ -271,8 +271,9 @@
   para
 This file describes where to start debugging Wine. If at any
 point you get stuck and want to ask for help, please read the
-file filenamedocumentation/bugreports/filename for
-information on how to write useful bug reports.
+emphasisHow to Report A Bug/emphasis section of the 
+emphasisWine Users Guide/emphasis for information on how to write
+useful bug reports.
   /para
 
   sect2
@@ -311,8 +312,7 @@
 para
   Steps to debug a crash. You may stop at any step, but please
   report the bug and provide as much of the information
-  gathered to the newsgroup or the relevant developer as
-  feasible.
+  gathered to the bug report as feasible.
 /para
 
 orderedlist
@@ -362,17 +362,26 @@
   If you have found a misbehaving function, try to find out
   why it misbehaves. Find the function in the source code.
   Try to make sense of the arguments passed. Usually there is
-  a functionTRACE(lt;channel,(...)\n);/function at
-  the beginning of the function. Rerun wine with
+  a functionWINE_DEFAULT_DEBUG_CHANNEL(lt;channel);/function
+  at the beginning of the file. Rerun wine with
   parameter-debugmsg +xyz,+relay/parameter added to the
   commandline.
 /para
+para
+  Occasionally there are additional debug channels defined at the 
+  begining of the file in the form.
+  functionWINE_DECLARE_DEBUG_CHANNEL(lt;channel);/function
+  If so the offending fuction may also uses one of these alternate
+  channels. Look through the the function for  
+ functionTRACE_(lt;channel)( ... /n);/function and add any
+ additional channels to the commandline.
+/para
   /listitem
   listitem
 para
   Additional information on how to debug using the internal
   debugger can be  found in
-  filenamedebugger/README/filename.
+  filenameprograms/winedbg/README/filename.
 /para
   /listitem
   listitem
@@ -386,29 +395,25 @@
   /listitem
   listitem
 para
-  If even that isn't enough, add more debug output for
-  yourself into the functions you find relevant.  See
-  filenamedocumentation/debug-msgs/filename. You might
+  If even that isn't enough, add more debug output for yourself 
+  into the functions you find relevant. See The section on Debug 
+  Logging in this guide for more information. You might
   also try to run the program in commandgdb/command
   instead of using the WINE-debugger. If you do that, use
   parameterhandle SIGSEGV nostop noprint/parameter to
   disable the handling of seg faults inside
-  commandgdb/command (needed for Win16). If you don't use
-  the parameter--desktop/parameter or
-  parameter--managed/parameter option, start the WINE
-  process with parameter--sync/parameter, or chances are
-  good to get X into an unusable state.
+  commandgdb/command (needed for Win16). 
 /para
   /listitem
   listitem
 para
-  You can also set a breakpoint for that function. Start wine
-  with the parameter--debug/parameter option added to the
-  commandline. After loading the executable wine will