|
|
|
@@ -0,0 +1,192 @@ |
|
|
|
# WineASIO - ASIO to JACK driver for WINE |
|
|
|
|
|
|
|
CONTENTS |
|
|
|
======== |
|
|
|
1. Installation |
|
|
|
2. General Information |
|
|
|
3. Change Log |
|
|
|
4. Legal Stuff |
|
|
|
|
|
|
|
1. INSTALLATION |
|
|
|
--------------- |
|
|
|
|
|
|
|
Do the following to build for 32-bit Wine. |
|
|
|
|
|
|
|
``` |
|
|
|
make clean |
|
|
|
make 32 |
|
|
|
``` |
|
|
|
|
|
|
|
To install (substitute with the path to the 32-bit wine libs for your distro). |
|
|
|
|
|
|
|
``` |
|
|
|
sudo cp build32/wineasio.dll.so /usr/lib32/wine/wineasio.dll.so |
|
|
|
``` |
|
|
|
|
|
|
|
Do the following to build for 64-bit Wine. |
|
|
|
|
|
|
|
``` |
|
|
|
make clean |
|
|
|
make 64 |
|
|
|
``` |
|
|
|
|
|
|
|
To install (substitute with the path to the 64 bit wine libs for your distro). |
|
|
|
|
|
|
|
``` |
|
|
|
sudo cp build64/wineasio.dll.so /usr/lib/wine/wineasio.dll.so |
|
|
|
``` |
|
|
|
|
|
|
|
Finally the dll must be registered in the wineprefix. |
|
|
|
For both 32 and 64 bit wine do: |
|
|
|
|
|
|
|
``` |
|
|
|
regsvr32 wineasio.dll |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
On a 64 bit system with wine supporting both 32 and 64 applications, |
|
|
|
regsrv32 will register the 32-bit driver in a 64 bit prefix, |
|
|
|
use the following command to register the 64 bit driver in a 64 bit wineprefix: |
|
|
|
|
|
|
|
``` |
|
|
|
wine64 regsvr32 wineaiso.dll |
|
|
|
``` |
|
|
|
|
|
|
|
regsvr32 registers the ASIO COM object in the default prefix "~/.wine". |
|
|
|
To use another prefix specify it explicitly, like: |
|
|
|
|
|
|
|
``` |
|
|
|
env WINEPREFIX=~/asioapp regsvr32 wineasio.dll |
|
|
|
``` |
|
|
|
|
|
|
|
2. GENERAL INFORMATION |
|
|
|
---------------------- |
|
|
|
|
|
|
|
ASIO apps get notified if the jack buffersize changes. |
|
|
|
|
|
|
|
WineASIO can slave to the jack transport. |
|
|
|
|
|
|
|
WineASIO can change jack's buffersize if so desired. Must be enabled in the registry, see below. |
|
|
|
|
|
|
|
The configuration of WineASIO is done with Windows registry (HKEY_CURRENT_USER\Software\Wine\WineASIO). |
|
|
|
All these options can be overridden by environment variables. |
|
|
|
There is also a GUI for changing these settings, which WineASIO will try to launch when the ASIO "panel" is clicked. |
|
|
|
|
|
|
|
The registry keys are automatically created with default values if they doesn't exist when the driver initializes. |
|
|
|
Th available options are: |
|
|
|
|
|
|
|
#### [Number of inputs] & [Number of outputs] |
|
|
|
These two settings control the number of jack ports that WineASIO will try to open. |
|
|
|
Defaults are 16 in and 16 out. Environment variables are WINEASIO_NUMBER_INPUTS and WINEASIO_NUMBER_OUTPUTS. |
|
|
|
|
|
|
|
#### [Autostart server] |
|
|
|
|
|
|
|
Defaults to off (0), setting it to 1 enables WineASIO to launch the jack server. |
|
|
|
See the jack documentation for further details. |
|
|
|
The environment variable is WINEASIO_AUTOSTART_SERVER, and it can be set to on or off. |
|
|
|
|
|
|
|
#### [Connect to hardware] |
|
|
|
Defaults to on (1), makes WineASIO try to connect the ASIO channels to the physical I/O ports on your hardware. |
|
|
|
Setting it to 0 disables it. |
|
|
|
The environment variable is WINEASIO_CONNECT_TO_HARDWARE, and it can be set to on or off. |
|
|
|
|
|
|
|
#### [Fixed buffersize] |
|
|
|
Defaults to on (1) which means the buffer size is controlled by jack and WineASIO has no say in the matter. |
|
|
|
When set to 0, an ASIO app will be able to change the jack buffer size when calling CreateBuffers(). |
|
|
|
The environment variable is WINEASIO_FIXED_BUFFERSIZE and it can be set to on or off. |
|
|
|
|
|
|
|
#### [Preferred buffersize] |
|
|
|
Defaults to 1024, and is one of the sizes returned by GetBufferSize(), see the ASIO documentation for details. |
|
|
|
Must be a power of 2. |
|
|
|
|
|
|
|
The other values returned by the driver are hardcoded in the source, |
|
|
|
see ASIO_MINIMUM_BUFFERSIZE which is set at 16, and ASIO_MAXIMUM_BUFFERSIZE which is set to 8192. |
|
|
|
The environment variable is WINEASIO_PREFERRED_BUFFERSIZE. |
|
|
|
|
|
|
|
Be careful, if you set a size that isn't supported by the backend, the jack server will most likely shut down, |
|
|
|
might be a good idea to change ASIO_MINIMUM_BUFFERSIZE and ASIO_MAXIMUM_BUFFERSIZE to values you know work on your system before building. |
|
|
|
|
|
|
|
In addition there is a WINEASIO_CLIENT_NAME environment variable, |
|
|
|
that overrides the JACK client name derrived from the program name. |
|
|
|
|
|
|
|
3. CHANGE LOG |
|
|
|
------------- |
|
|
|
|
|
|
|
#### 0.10.0 |
|
|
|
* 08-FEB-2020: Fix code to work with latest Wine |
|
|
|
* 08-FEB-2020: Add custom GUI for WineASIO settings, made by PyQt (taken off Cadence project code) |
|
|
|
|
|
|
|
#### 0.9.2 |
|
|
|
* 28-OCT-2013: Add 64-bit support and some small fixes |
|
|
|
|
|
|
|
#### 0.9.1 |
|
|
|
* 15-OCT-2013: Various bug fixes (JH) |
|
|
|
|
|
|
|
#### 0.9.0 |
|
|
|
* 19-FEB-2011: Nearly complete refactoring of the WineASIO codebase (asio.c) (JH) |
|
|
|
|
|
|
|
#### 0.8.1 |
|
|
|
* 05-OCT-2010: Code from Win32 callback thread moved to JACK process callback, except for bufferSwitch() call. |
|
|
|
* 05-OCT-2010: Switch from int to float for samples. |
|
|
|
|
|
|
|
#### 0.8.0 |
|
|
|
* 08-AUG-2010: Forward port JackWASIO changes... needs testing hard. (PLJ) |
|
|
|
|
|
|
|
#### 0.7.6 |
|
|
|
* 27-DEC-2009: Fixes for compilation on 64-bit platform. (PLJ) |
|
|
|
|
|
|
|
#### 0.7.5 |
|
|
|
* 29-Oct-2009: Added fork with call to qjackctl from ASIOControlPanel(). (JH) |
|
|
|
* 29-Oct-2009: Changed the SCHED_FIFO priority of the win32 callback thread. (JH) |
|
|
|
* 28-Oct-2009: Fixed wrongly reported output latency. (JH) |
|
|
|
|
|
|
|
#### 0.7.4 |
|
|
|
* 08-APR-2008: Updates to the README.TXT (PLJ) |
|
|
|
* 02-APR-2008: Move update to "toggle" to hopefully better place (PLJ) |
|
|
|
* 24-MCH-2008: Don't trace in win32_callback. Set patch-level to 4. (PLJ) |
|
|
|
* 09-JAN-2008: Nedko Arnaudov supplied a fix for Nuendo under WINE. |
|
|
|
|
|
|
|
#### 0.7.3 |
|
|
|
* 27-DEC-2007: Make slaving to jack transport work, correct port allocation bug. (RB) |
|
|
|
|
|
|
|
#### 0.7 |
|
|
|
* 01-DEC-2007: In a fit of insanity, I merged JackLab and Robert Reif code bases. (PLJ) |
|
|
|
|
|
|
|
#### 0.6 |
|
|
|
* 21-NOV-2007: add dynamic client naming (PLJ) |
|
|
|
|
|
|
|
#### 0.0.3 |
|
|
|
* 17-NOV-2007: Unique port name code (RR) |
|
|
|
|
|
|
|
#### 0.5 |
|
|
|
* 03-SEP-2007: port mapping and config file (PLJ) |
|
|
|
|
|
|
|
#### 0.3 |
|
|
|
* 30-APR-2007: corrected connection of in/outputs (RB) |
|
|
|
|
|
|
|
#### 0.1 |
|
|
|
* ???????????: Initial RB release (RB) |
|
|
|
|
|
|
|
#### 0.0.2 |
|
|
|
* 12-SEP-2006: Fix thread bug, tidy up code (RR) |
|
|
|
|
|
|
|
#### 0.0.1 |
|
|
|
* 31-AUG-2006: Initial version (RR) |
|
|
|
|
|
|
|
4. LEGAL STUFF |
|
|
|
-------------- |
|
|
|
|
|
|
|
Copyright (C) 2006 Robert Reif |
|
|
|
Portions copyright (C) 2007 Ralf Beck |
|
|
|
Portions copyright (C) 2007 Johnny Petrantoni |
|
|
|
Portions copyright (C) 2007 Stephane Letz |
|
|
|
Portions copyright (C) 2008 William Steidtmann |
|
|
|
Portions copyright (C) 2010 Peter L Jones |
|
|
|
Portions copyright (C) 2010 Torben Hohn |
|
|
|
Portions copyright (C) 2010 Nedko Arnaudov |
|
|
|
Portions copyright (C) 2011 Christian Schoenebeck |
|
|
|
Portions copyright (C) 2013 Joakim Hernberg |
|
|
|
Portions copyright (C) 2020 Filipe Coelho |
|
|
|
|
|
|
|
The WineASIO library code is licensed under LGPL v2.1, see COPYING.LIB for more details. |
|
|
|
The WineASIO settings UI code is licensed under GPL v2+, see COPYING.GUI for more details. |