"Yet Another (WA)SAPI Output Plugin for Winamp YASAPI" (out_yasapi) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
"Yet Another (WA)SAPI Output Plugin for Winamp YASAPI" (out_yasapi) is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with "Yet Another (WA)SAPI Output Plugin for Winamp YASAPI" (out_yasapi). If not, see <http://www.gnu.org/licenses/>.
The "Yet Another (WA)SAPI Output Plugin for Winamp" (YASAPI) utilizes the "Windows Audio Session API" (WASAPI). WASAPI's exclusive mode for rendering audio is a native way on Windows to render audio undisturbed, similar to Steinberg's "Audio Stream Input/Output" (ASIO). The YASAPI output plugin may serve as a replacement for any other Winamp output plugin.
Nanos gigantum humeris insidentes: This project is dedicated to my European heritage. It is strictly to be understood as a statement against the "sweet" liberal lie of "multiculturalism" which is going to destroy Europe as we know it, in particular against the Merkel regime selling out Europe for nothing as we watch.
PLEASE NOTE THAT THIS PROJECT IS AN EXPERIMENTAL RATHER THEN AN INDUSTRIAL STRENGTH EFFORT. THIS PROJECT IS NOT FOR YOU. IT IS FOR ME IN ORDER TO LEARN SOMETHING. IF THERE IS SOMETHING ALONG THE WAY I CAN DO FOR YOU THAT'S FINE.
Home: | http://out-yasapi.sourceforge.net/ | |
Project: | http://sourceforge.net/projects/out-yasapi/ | |
Download: | http://sourceforge.net/projects/out-yasapi/files/out-yasapi/out_yasapi-nt | |
Winamp Forum: | http://forums.winamp.com/showthread.php?t=380396 (discontinued) | |
Input Plugin: | http://in-ffsox.sourceforge.net/ | |
Loudness Normalization: | http://bs1770gain.sourceforge.net/ | |
http://r128gain.sourceforge.net/ | ||
Keep HDD Awake: | http://gen-hdd.sourceforge.net/ | |
Yet Another Shuffle: | http://gen-yas.sourceforge.net/ |
2017-04-27 | As a sort of side project to out_yasapi I've created
milkdrop2-compile:
https://sourceforge.net/projects/milkdrop2-compile/ |
|
2017-01-10 | Added a political statement to the top of this page. | |
2016-11-10 | To all you great people out there in the US: Thank you for electing Donald Trump! | |
2016-08-11 |
Just recently it came to my attention that an individual calling
himself "DrO" advertises a silly and buggy clone of this plug-in
with just a few lines of code errornous changed (out of
about 20.000 and his name added to the About box)
he advertises under the name of "Not So YASAPI Output
Plug-in". Be careful and get not mixed up!
The original YASAPI plug-in indeed comes from this site and
sourceforge
(as usual)! Luckily and thanks to the GPL3 the "author" of this silly clone
had to leave the original copyright notice and the reference
to this site intact!
|
|
2016-08-06 | 1.7.25 |
|
2016-07-30 | 1.7.24 |
|
2016-07-03 | 1.7.18 |
|
2016-06-30 | 1.7.17 |
|
2016-06-30 | 1.7.15 | Fixed several bugs regarding the implementation of the device specific option Extend to 24 Bit. This option is apperently not equivalent to Winamp -> Options -> Preferences -> Playback -> Playback -> Allow 24bit because the latter reduces bit deps to 16 bit if un-checked otherwise to 24 bit. Bit depth is never extended to 24 bit. YASAPI extends bit depth to 24 bit those enabling playback on devices which does support 24 bit WASAPI playback but not 16 bit WASAPI playback. |
2016-06-27 | 1.7.10 | Added a device specific option in order to define whether YASAPI should promote 8/16 bit input to 24 bit. This is not really necessary because the same effect can be achieved by enabeling Winamp -> Options -> Preferences -> Playback -> Playback -> Allow 24bit but is provided on user request |
2016-06-23 | 1.7.4 |
|
2016-06-21 | 1.7.1 | Improved migrating the plug-in from an un-plugged default device to the new default device when playing. |
2016-06-20 | 1.7.0 | (Limited) support for un-plugging the default device (as configured via System control) when playing. |
2016-06-19 | 1.6.14 |
|
2016-06-14 | 1.6.11 | Fixed combining pause with flush (skip). |
2016-06-13 | 1.6.9 |
|
2016-06-12 | 1.6.8 | For the debug version it may be configured that the trace is written to a file in the AppData/Winamp/Plugin directory rather then dispalying it in a console. |
2016-06-12 | 1.6.7 | In gapless mode, when a playlist ends the device is not released. It is waiting for the next track to start. This situation is un-distinguishable from an ordinary underflow situation and hence playback ends in an undeflow state. This may cause trouble when in such a situation the user decides to change the output plugin (via configuration). This new version applys to exact this situation: If in case the user changes the output plugin and this plugin is found in an underflow state this plugin is closed (and hence the device released). |
2016-06-12 | 1.6.6 | Fixes regrding gapless playback. |
2016-06-12 | 1.6.5 |
|
2016-05-29 | 1.6.4 | Added a common option in order to define whether 4, 6, or 8 channels should be interpreted as qadrophnic (3.1), 5.1, or 7.1 (disabled) or sorround (3.1 sorround), 5.1 sorround, or 7.1 sorround (enabled), respectively. |
2016-05-26 | 1.6.3 |
|
2016-05-22 | 1.6.0 |
|
2016-05-17 | 1.5.4 | Solved the dead-lock caused by saving the configuration. |
2016-05-17 | 1.5.1- 1.5.3 |
Improved dealing with draining the ring buffer and end of track (eot). |
2016-05-16 | 1.5.0 |
|
2016-04-09 | 1.0.7 | In order to have YASAPI in a well defined state from the very first beginning, reset the IAudioClient interface at start-up. |
2016-01-13 | 1.0.6 |
|
2016-01-09 | 1.0.0 |
|
2016-01-03 | 0.16.0 |
|
2015-12-21 | 0.15.0 | Brought back, as an option, a call to IAudioClient::IsFormatSupported which is disabled by default. |
2015-12-10 | 0.14.1 | Increased default ring buffer size to 2.5. |
2015-12-08 | 0.14.0 |
|
2015-12-06 | 0.12.0 | Fixed interplay with the "NotSo Fatso" input plugin. |
2015-12-04 | 0.11.0 |
|
2015-11-29 | 0.10.0 |
|
2015-11-23 | 0.9.1 |
|
2015-11-22 | 0.9.0 |
|
2015-11-02 | 0.8.3 |
|
2015-10-31 | 0.8.2 |
|
2015-10-30 | 0.8.1 | New share mode "automatic" which is similar to exclusive except that it falls back to shared in case exclusive fails. |
2015-10-29 | 0.8.0 |
|
2015-10-26 | 0.7.1 |
|
2015-10-26 | 0.7.0 |
|
2015-10-03 | 0.6.1 | Corrected a silly bug in testing for share mode. |
2015-10-03 | 0.6.0 | Add AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM flag when in shared mode (doesn't have any effect on Vista). |
2015-02-14 | 0.5.0 |
|
2015-01-30 | 0.4.0 |
|
2015-01-25 | 0.3.0 |
|
2015-01-24 | 0.2.1 |
|
2015-01-24 | 0.2.0 |
|
2015-01-23 | 0.1.0 | Initial release. |
According to Microsoft:
The Core Audio APIs were introduced in Windows Vista. This is a new set of user-mode audio components provides client applications with improved audio capabilities. These capabilities include the following:
- Low-latency, glitch-resilient audio streaming.
- Improved reliability (many audio functions have moved from kernel mode to user mode).
- Improved security (processing of protected audio content takes place in a secure, lower-privilege process).
- Assignment of particular system-wide roles (console, multimedia, and communications) to individual audio devices.
- Software abstraction of the audio endpoint devices (for example, speakers, headphones, and microphones) that the user manipulates directly.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd370784%28v=vs.85%29.aspx
Of special interest is that there is an exclusive mode for rendering audio, i.e. there is a mode where an application has exclusive access to the audio device without being disturbed by third parties.
The aim of the YASAPI plugin is to make the WASAPI exclusive mode for audio rendering available to the users of Winamp.
The name of the plugin was choosen because there are already at least two WASAPI output plugins for Winamp:
There are two sides the YASAPI plugin has to take into account:
The implementation on the WASAPI side follows along the lines of an example provided by Microsoft. The startegy shown in this example is not only applicable for shared mode streams but also for exclusive mode ones, i.e. not the share mode should be emphasized but what is known as the push model. There is also an example demonstrating the pull model in conjunction with the exclusive mode. In that sence there are four strategies:
The YASAPI plugin implements the first two strategies, i.e. the ones based on the push model.
The push model, in principle, works as follows:
But the YASAPI plugin not only has to take into account the
WASAPI side (the loop consisting of sleeping and writing to the
audio device) but also the Winamp side because Winamp provides
the audio samples which should be played in an completely
unpredictable way.
The YASAPI plugin decouples the two sides by means of a
ring or circular buffer.
That way,
According to step 2 of the push model sketched above,
it shoud become clear that the ring buffer should be at least as
large (or larger) as the buffer the plugin's WASAPI component shares
with the audio device.
The YASAPI plugin comes with a configuration dialog which is described
in the following. The dialog's top region presents the two
most important parameters "Mode" (exclusive or share) and "Strategy" (push or pull)
Below those two parameters you find a tab-control consisting of four pages,
The tab-control's first page looks as follows:
It let's you configure
On the next page there are the following per device options:
On the final page you can configure the following per device buffer sizes:
From the above sketch of the push model it shold be clear
that the following relation holds (which is enforced by the configuration dialog):
Please note that no option takes effect before hitting the OK button.
In case something went wrong you may be interested in some more
information. In order to utilize this there is a debug version
of the plugin (distinguished by a lower case "d" at the and of
the name, i.e. out_yasapid.dll) available from the
download site.
Do the following:
The debug console.
You can get rid of the debug console by choosing the respective
"Console" option from the debug YASAPI plugin's configuration dialog:
The following debug options can be configured:
A big "thank you" goes out
The following prerequisites are needed in order to build YASAPI
from the sources:
After having installed the prerequites you can
build YASAPI. In MSys2 proceed as follows:
4. Configuration
minimum size of the buffer shared with the device (provided by WASAPI)
<= size of buffer shared with the device
<= number of samples in the ring buffer before start playing
<= size of ring buffer
As a rule of thumb all buffer sizes should be 1.0 except the ring buffer's
size which should be just a small amount greater then 1.0.
5. Debug
5. Compiling YASAPI from Source
5.1 Prerequisits
5.1 The Build Proceudure
$ wget -O out_yasapi-1.7.25-src.tar.gz 'https://sourceforge.net/projects/out-yasapi/files/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz/download'
--2016-08-06 11:08:31-- https://sourceforge.net/projects/out-yasapi/files/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz/download
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/out-yasapi/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz?r=&ts=1470474523&use_mirror=vorboss [following]
--2016-08-06 11:08:32-- http://downloads.sourceforge.net/project/out-yasapi/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz?r=&ts=1470474523&use_mirror=vorboss
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://vorboss.dl.sourceforge.net/project/out-yasapi/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz [following]
--2016-08-06 11:08:32-- http://vorboss.dl.sourceforge.net/project/out-yasapi/out-yasapi/1.7.25/out_yasapi-1.7.25-src.tar.gz
Resolving vorboss.dl.sourceforge.net (vorboss.dl.sourceforge.net)... 5.10.152.194
Connecting to vorboss.dl.sourceforge.net (vorboss.dl.sourceforge.net)|5.10.152.194|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 309772 (303K) [application/x-gzip]
Saving to: 'out_yasapi-1.7.25-src.tar.gz'
out_yasapi-1.7.25-src.tar.gz 100%[=================================================>] 302.51K 1.10MB/s in 0.3s
2016-08-06 11:08:33 (1.10 MB/s) - 'out_yasapi-1.7.25-src.tar.gz' saved [309772/309772]
$ tar xfv out_yasapi-1.7.25-src.tar.gz
out_yasapi-1.7.25/COPYING
out_yasapi-1.7.25/bits
out_yasapi-1.7.25/configure
out_yasapi-1.7.25/Makefile
out_yasapi-1.7.25/out_yasapi/
out_yasapi-1.7.25/out_yasapi/configure
out_yasapi-1.7.25/out_yasapi/COPYING
out_yasapi-1.7.25/out_yasapi/doc/
out_yasapi-1.7.25/out_yasapi/doc/css/
out_yasapi-1.7.25/out_yasapi/doc/css/styles.css
out_yasapi-1.7.25/out_yasapi/doc/images/
out_yasapi-1.7.25/out_yasapi/doc/images/config-1.jpg
out_yasapi-1.7.25/out_yasapi/doc/images/config-2.jpg
out_yasapi-1.7.25/out_yasapi/doc/images/config-3.jpg
out_yasapi-1.7.25/out_yasapi/doc/images/config-debug.jpg
out_yasapi-1.7.25/out_yasapi/doc/images/debug.jpg
out_yasapi-1.7.25/out_yasapi/doc/index.html
out_yasapi-1.7.25/out_yasapi/guid.cpp
out_yasapi-1.7.25/out_yasapi/Makefile
out_yasapi-1.7.25/out_yasapi/model.c
out_yasapi-1.7.25/out_yasapi/out_yasapi.c
out_yasapi-1.7.25/out_yasapi/out_yasapi.nsi
out_yasapi-1.7.25/out_yasapi/rc/
out_yasapi-1.7.25/out_yasapi/rc/manifest.xml
out_yasapi-1.7.25/out_yasapi/rc/resources.h
out_yasapi-1.7.25/out_yasapi/rc/resources.rc
out_yasapi-1.7.25/out_yasapi/version.mak
out_yasapi-1.7.25/out_yasapi/yasapi.h
out_yasapi-1.7.25/out_yasapi/yasapi_about.c
out_yasapi-1.7.25/out_yasapi/yasapi_config.c
out_yasapi-1.7.25/out_yasapi/yasapi_connect.c
out_yasapi-1.7.25/out_yasapi/yasapi_control_list.c
out_yasapi-1.7.25/out_yasapi/yasapi_device.c
out_yasapi-1.7.25/out_yasapi/yasapi_disconnect.c
out_yasapi-1.7.25/out_yasapi/yasapi_guid.c
out_yasapi-1.7.25/out_yasapi/yasapi_guid.h
out_yasapi-1.7.25/out_yasapi/yasapi_kill.c
out_yasapi-1.7.25/out_yasapi/yasapi_notify.c
out_yasapi-1.7.25/out_yasapi/yasapi_options_common.c
out_yasapi-1.7.25/out_yasapi/yasapi_options_device.c
out_yasapi-1.7.25/out_yasapi/yasapi_player.c
out_yasapi-1.7.25/out_yasapi/yasapi_ring.c
out_yasapi-1.7.25/out_yasapi/yasapi_strategy.c
out_yasapi-1.7.25/out_yasapi/yasapi_time.c
out_yasapi-1.7.25/out_yasapi/yasapi_util.c
out_yasapi-1.7.25/libya/
out_yasapi-1.7.25/libya/configure
out_yasapi-1.7.25/libya/COPYING
out_yasapi-1.7.25/libya/COPYING.LESSER
out_yasapi-1.7.25/libya/Makefile
out_yasapi-1.7.25/libya/rules.mak
out_yasapi-1.7.25/libya/str2wcscpy.c
out_yasapi-1.7.25/libya/wc2cscpy.c
out_yasapi-1.7.25/libya/wc2csdup.c
out_yasapi-1.7.25/libya/wchar2char.c
out_yasapi-1.7.25/libya/wcs2strcpy.c
out_yasapi-1.7.25/libya/wcs2strdup.c
out_yasapi-1.7.25/libya/ya.h
out_yasapi-1.7.25/libya/ya_control.c
out_yasapi-1.7.25/libya/ya_debug.c
out_yasapi-1.7.25/libya/ya_dump.c
out_yasapi-1.7.25/libya/ya_player.c
out_yasapi-1.7.25/libya/ya_player_stub.c
out_yasapi-1.7.25/libya/ya_property.c
out_yasapi-1.7.25/libya/ya_queue.c
out_yasapi-1.7.25/libya/ya_queue_read.c
out_yasapi-1.7.25/libya/ya_queue_write.c
out_yasapi-1.7.25/libya/ya_result.c
out_yasapi-1.7.25/libya/ya_store.c
out_yasapi-1.7.25/libya/ya_trace.c
out_yasapi-1.7.25/libya/ya_util.c
out_yasapi-1.7.25/libya/ya_wfxx.c
$ cd out_yasapi-1.7.25
$ ./configure --help
usage: ./configure <options>
options (selection):
--help: display this message
'--with-msvs=<path to ms visual studio installation>'
default: "C:/Program Files (x86)/Microsoft Visual Studio 12.0"
'--with-mssdk=<path to ms windows sdk installation>'
default: "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A"
'--with-wasdk=<path to winamp sdk installation>'
default: "C:/Program Files (x86)/Winamp SDK"
'--with-nsis=<path to nsis installation>'
default: "C:/Program Files (x86)/NSIS"
CPPFLAGS=<CPPFLAGS> flags passed to the C pre-processor
(and the resource compiler)
default: "-D_USING_V110_SDK71_"
CFLAGS=<CFLAGS> flags passed to the C compiler
default: "-MT -WX -O2"
$ ./configure "--prefix=$(PWD)"
$ ./configure "--prefix=$(PWD)" "--with-mssdk=C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A"
$ make
CONFIGURE
CONFIGURE
MAKE all
make[1]: Entering directory '/d/MSys2/home/libya/X/out_yasapi-1.7.25/build/libya'
CL ya_player_stub.obj
LIB libya.lib(ya_player_stub.obj)
CL ya_player.obj
LIB libya.lib(ya_player.obj)
CL ya_control.obj
LIB libya.lib(ya_control.obj)
CL ya_queue.obj
LIB libya.lib(ya_queue.obj)
CL ya_queue_write.obj
LIB libya.lib(ya_queue_write.obj)
CL ya_queue_read.obj
LIB libya.lib(ya_queue_read.obj)
CL ya_store.obj
LIB libya.lib(ya_store.obj)
CL ya_result.obj
LIB libya.lib(ya_result.obj)
CL ya_property.obj
LIB libya.lib(ya_property.obj)
CL ya_wfxx.obj
LIB libya.lib(ya_wfxx.obj)
CL str2wcscpy.obj
LIB libya.lib(str2wcscpy.obj)
CL wcs2strcpy.obj
LIB libya.lib(wcs2strcpy.obj)
CL wcs2strdup.obj
LIB libya.lib(wcs2strdup.obj)
CL ya_util.obj
LIB libya.lib(ya_util.obj)
CL ya_trace.obj
LIB libya.lib(ya_trace.obj)
CL ya_dump.obj
LIB libya.lib(ya_dump.obj)
CL ya_debug.obj
LIB libya.lib(ya_debug.obj)
CL ya_player_stub-debug.obj
LIB libya-debug.lib(ya_player_stub-debug.obj)
CL ya_player-debug.obj
LIB libya-debug.lib(ya_player-debug.obj)
CL ya_control-debug.obj
LIB libya-debug.lib(ya_control-debug.obj)
CL ya_queue-debug.obj
LIB libya-debug.lib(ya_queue-debug.obj)
CL ya_queue_write-debug.obj
LIB libya-debug.lib(ya_queue_write-debug.obj)
CL ya_queue_read-debug.obj
LIB libya-debug.lib(ya_queue_read-debug.obj)
CL ya_store-debug.obj
LIB libya-debug.lib(ya_store-debug.obj)
CL ya_result-debug.obj
LIB libya-debug.lib(ya_result-debug.obj)
CL ya_property-debug.obj
LIB libya-debug.lib(ya_property-debug.obj)
CL ya_wfxx-debug.obj
LIB libya-debug.lib(ya_wfxx-debug.obj)
CL str2wcscpy-debug.obj
LIB libya-debug.lib(str2wcscpy-debug.obj)
CL wcs2strcpy-debug.obj
LIB libya-debug.lib(wcs2strcpy-debug.obj)
CL wcs2strdup-debug.obj
LIB libya-debug.lib(wcs2strdup-debug.obj)
CL ya_util-debug.obj
LIB libya-debug.lib(ya_util-debug.obj)
CL ya_trace-debug.obj
LIB libya-debug.lib(ya_trace-debug.obj)
CL ya_dump-debug.obj
LIB libya-debug.lib(ya_dump-debug.obj)
CL ya_debug-debug.obj
LIB libya-debug.lib(ya_debug-debug.obj)
rm ya_property.obj str2wcscpy-debug.obj str2wcscpy.obj ya_store-debug.obj wcs2strcpy-debug.obj ya_player_stub-debug.obj ya_store.obj wcs2strdup.obj ya_player_stub.obj ya_debug-debug.obj ya_dump-debug.obj ya_debug.obj ya_queue_write-debug.obj ya_util-debug.obj ya_queue.obj ya_wfxx-debug.obj ya_queue_read-debug.obj ya_result-debug.obj ya_queue_write.obj wcs2strcpy.obj ya_util.obj ya_wfxx.obj wcs2strdup-debug.obj ya_control-debug.obj ya_queue_read.obj ya_player-debug.obj ya_control.obj ya_trace-debug.obj ya_player.obj ya_result.obj ya_trace.obj ya_queue-debug.obj ya_dump.obj ya_property-debug.obj
make[1]: Leaving directory '/d/MSys2/home/libya/X/out_yasapi-1.7.25/build/libya'
MAKE install
make[1]: Entering directory '/d/MSys2/home/libya/X/out_yasapi-1.7.25/build/libya'
mkdir -p /usr/local/lib
cp libya.lib /usr/local/lib/libya.lib
mkdir -p /usr/local/lib
cp libya-debug.lib /usr/local/lib/libya-debug.lib
make[1]: Leaving directory '/d/MSys2/home/libya/X/out_yasapi-1.7.25/build/libya'
MAKE all
cp /d/MSys2/home/libya/X/out_yasapi-1.7.25/out_yasapi/rc/resources.h resources.h
CL out_yasapi.obj
SED resources.rc
cp /d/MSys2/home/libya/X/out_yasapi-1.7.25/out_yasapi/rc/manifest.xml manifest.xml
RC resources.res
CL yasapi_about.obj
LIB libyasapi.lib(yasapi_about.obj)
CL yasapi_config.obj
LIB libyasapi.lib(yasapi_config.obj)
CL yasapi_control_list.obj
LIB libyasapi.lib(yasapi_control_list.obj)
CL yasapi_notify.obj
LIB libyasapi.lib(yasapi_notify.obj)
CL yasapi_player.obj
LIB libyasapi.lib(yasapi_player.obj)
CL yasapi_connect.obj
LIB libyasapi.lib(yasapi_connect.obj)
CL yasapi_device.obj
LIB libyasapi.lib(yasapi_device.obj)
CL yasapi_disconnect.obj
LIB libyasapi.lib(yasapi_disconnect.obj)
CL yasapi_strategy.obj
LIB libyasapi.lib(yasapi_strategy.obj)
CL yasapi_kill.obj
LIB libyasapi.lib(yasapi_kill.obj)
CL yasapi_time.obj
LIB libyasapi.lib(yasapi_time.obj)
CL yasapi_options_device.obj
LIB libyasapi.lib(yasapi_options_device.obj)
CL yasapi_options_common.obj
LIB libyasapi.lib(yasapi_options_common.obj)
CL yasapi_ring.obj
LIB libyasapi.lib(yasapi_ring.obj)
CL yasapi_util.obj
LIB libyasapi.lib(yasapi_util.obj)
CL yasapi_guid.obj
LIB libyasapi.lib(yasapi_guid.obj)
LINK out_yasapi.dll
CL out_yasapi-debug.obj
CL yasapi_about-debug.obj
LIB libyasapi-debug.lib(yasapi_about-debug.obj)
CL yasapi_config-debug.obj
LIB libyasapi-debug.lib(yasapi_config-debug.obj)
CL yasapi_control_list-debug.obj
LIB libyasapi-debug.lib(yasapi_control_list-debug.obj)
CL yasapi_notify-debug.obj
LIB libyasapi-debug.lib(yasapi_notify-debug.obj)
CL yasapi_player-debug.obj
LIB libyasapi-debug.lib(yasapi_player-debug.obj)
CL yasapi_connect-debug.obj
LIB libyasapi-debug.lib(yasapi_connect-debug.obj)
CL yasapi_device-debug.obj
LIB libyasapi-debug.lib(yasapi_device-debug.obj)
CL yasapi_disconnect-debug.obj
LIB libyasapi-debug.lib(yasapi_disconnect-debug.obj)
CL yasapi_strategy-debug.obj
LIB libyasapi-debug.lib(yasapi_strategy-debug.obj)
CL yasapi_kill-debug.obj
LIB libyasapi-debug.lib(yasapi_kill-debug.obj)
CL yasapi_time-debug.obj
LIB libyasapi-debug.lib(yasapi_time-debug.obj)
CL yasapi_options_device-debug.obj
LIB libyasapi-debug.lib(yasapi_options_device-debug.obj)
CL yasapi_options_common-debug.obj
LIB libyasapi-debug.lib(yasapi_options_common-debug.obj)
CL yasapi_ring-debug.obj
LIB libyasapi-debug.lib(yasapi_ring-debug.obj)
CL yasapi_util-debug.obj
LIB libyasapi-debug.lib(yasapi_util-debug.obj)
CL yasapi_guid-debug.obj
LIB libyasapi-debug.lib(yasapi_guid-debug.obj)
LINK out_yasapi-debug.dll
CL guid.obj
LINK guid.exe
CL model.obj
LINK model.exe
rm yasapi_notify-debug.obj yasapi_guid.obj yasapi_notify.obj yasapi_options_common-debug.obj yasapi_connect-debug.obj yasapi_control_list-debug.obj yasapi_options_common.obj yasapi_options_device-debug.obj yasapi_strategy.obj yasapi_kill.obj yasapi_connect.obj yasapi_control_list.obj yasapi_options_device.obj yasapi_config-debug.obj yasapi_util-debug.obj yasapi_kill-debug.obj yasapi_config.obj yasapi_device-debug.obj yasapi_about-debug.obj yasapi_util.obj yasapi_time-debug.obj yasapi_device.obj yasapi_about.obj yasapi_disconnect-debug.obj yasapi_player-debug.obj yasapi_time.obj yasapi_disconnect.obj yasapi_player.obj yasapi_strategy-debug.obj yasapi_ring-debug.obj yasapi_ring.obj yasapi_guid-debug.obj
MAKE all
make[1]: Nothing to be done for 'all'.
SED out_yasapi.nsi
$ find ./ -name "*.dll"
./build/out_yasapi/out_yasapi-debug.dll
./build/out_yasapi/out_yasapi.dll
The following message posted by me to the top-level (sticky) thread Winamp News in forum the Winamp Discussion forum silently isappeared without any comment:
Dear DJ Egg,
I'm not certain whether you are the right person to address my reqest.. I'm not even certain about who rules this forum. My impression is that you are the only one "official" left (i.e. one with a contract to the owners of Winamp). All the rest including this forum's moderators seem to be volunteers.
As you may have noticed, since some time I have a conflict with some of the former contractors of Winamp, "DrO", regarding the question of intellectual property. As it turns out, this former contractor, "DrO", disrespects intellectual property. He advertises a product he calls "Not So YASAPI Output Plug-in v1.0 Beta" which is a close to 100% clone of YASAPI cf. here for details)
As it turns out that at the blog of "DrO" some of his fanboys comment we know by their nicknames are frequent posters of this forum, among them some Pawel:
Could you please investigate whether this Pawel is identical to this forum's moderator with the same nickname and in case it turns out to be true fire him from his job as a moderator?
Thank you in advance and best regards,
Peter
7. Some Additional Notes on Darren Owen ("DrO")
On his blog Darren Owen ("DrO") claims:
The YASAPI plug-in is released under a license which allows for anyone to take the code and do with it as they please as long as any code codes (be that new or based on the existing source) is also provided.That's of course true. And I'm the last one to have ever told something different. But if doing so, changing just a few lines of code out of about 20.000 just in order to rectify putting his name on the product I consider a clear case of plagiarism:For further details refer to the Winamp forum.
The further explanations by Darren Owen ("DrO") are simply laughable:
So I'm now in a position where if I were to make my own WASAPI output plug-in, I'm almost certain he'd claim I was just plagiarising his work even if it was written from scratch as I've said that I'd already had a look at the available source code for his plug-in.Darren, it's not your WASAPI plug-in, it's mine. Even with that little changes you've made you've perfectly demonstrated that you don't have the slightest idea on how this (my) plug-in is supposed to work and you've managed introducing a major bug into the configuration.