Yet Another (WA)SAPI (YASAPI) NT Output for Winamp (out_yasapi-nt) 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.
out_yasapi-nt 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 out_yasapi-nt. If not, see <http://www.gnu.org/licenses/>.
Yet Another (WA)SAPI (YASAPI) NT Output for Winamp 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). YASAPI NT Output may serve as a replacement for any other Winamp Output.
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 GREAT! #define _STR(x) #x #define STR(x) _STR(x) #define EXTERN_URL(url) url
Home: | "http://"out-yasapi.sourceforge.net/ | |
Project: | http://sourceforge.net/projects/out-yasapi/ | |
Download: | http://sourceforge.net/projects/out-yasapi/files/out-yasapi/ | |
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/ |
2018-04-24 |
|
|
2018-04-20 |
|
|
2018-04-20 | 2.0.0-β4 | The user already mentioned notified us by PM that selecting a device hadn't worked as expected. This preview release fixes this (silly) bug. Many thanks again Ralf! |
2018-04-20 |
|
|
2018-04-19 |
|
|
2018-04-16 | 2.0.0-β3 |
|
2018-04-12 | 2.0.0-β2 | The second preview of what you might expect to come:
|
2018-04-11 | We just noticed that on 2018-04-10, 04:19 the following
new thread
appeared at the WA forum:
Might be a fan of us but please note that this message is not ours. We don't post at the WA forum for years now. Anyway, we know at least one creature who likes tricking users into reporting to him and not to the plug-in's author. |
|
2018-04-08 | 2.0.0-β1 |
|
2018-02-16 | Updated Some Additional Notes Regarding the Parasite. | |
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: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. |
|
2016-08-11 |
Just recently it came to my attention that a creature
calling itself "DrO" (update 2018-04-08: according to the silly
"one world" ideology ruling the so called "western world" it is just a
"human being" without any individual properties discriminating it from
others, just like an ant in a bath full of infinite many undistinguishible
ants; you shouldn't have any doubt that in a literal sense it is "equal"
to you and me by any means, just like in
liberté, égalité, fraternité
![]()
|
|
2016-08-06 | 1.7.25 |
|
2016-07-30 | 1.7.24 |
|
2016-07-03 | 1.7.18 |
|
2016-06-30 | 1.7.17 |
Added the following personal statement to the About
dialog and to the projects home page at
http://out-yasapi.sourceforge.net/:
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 GREAT! |
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. |
YASAPI NT's history is much, much longer than the existence of the plug-in. Way back in the early 2000s we started experimenting with digital audio. The idea was based on the assumption that there should be no difference between playing the same track from CD and playing it from the PC. After all it's digital and the same bytes are streamed! Unfortunately, in practice in allmost all cases we experienced a hughe difference to the theory.
The following post (Oct 21, 2017) taken from the guru3D forums makes the essential point (although the guy seem not been familiar with the difference between WASAPI and ASIO and that it's a bad idea to use shared mode even it's possible - it's supplied just for completness):
This guy apart each theory experienced the hughe potential
w.r.t audio reproduction each PC has due to WASAPI.
The only thing YASAP NT adds is to make this potential available to
Winamp users. This guy confirms that we're not dreaming and that
the experience we had that evening when the first YASAPI prototype was
able to play for an hour or two without immediatly crashing - out
of nowhere we stopped and said to ourselfs: something is different!
Yep, we've finally found what we where looking for years - a way for
playing back audio from the PC sounding the same way as from the CD
player.
According to Microsoft:
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:
Installation is as easy as downloading and running the latest
NSIS
installer from the
project's download page.
Even if the plug-in runs without any further
configuration
(not very likely) you may wish to configure it. In order to enable
configuration you need some GTK runtime. You have two choices to
make the plug-in familiar with a GTK runtime: 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 NT plug-in comes with a configuration dialog which described
in the following. The configuration dialog's top region presents the most
important parameters: Below the top region you find a notebook control consisting of five
pages: The notebook control's first page labelled Common looks as follows:
On the next page labeled WASAPI there are the following per
device options:
On the next page labeled YASAPI there are the following per
device options:
The next page labeled Monitor looks the following:
The final page labeled Explore looks the following:
Just to name a few we'd like to thank (in no particular order) The following message posted by me to the top-level (sticky) thread
Winamp News in
forum the
Winamp Discussion
forum silently disappeared 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
On his blog the parasite
claims:
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 parasite's
further explanations
are simply laughable:
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.
Update 2018-02-16:
Meanwhile the parasite on his web site confirms that his buggy GPL clone is just a fake and that he's
distributing an non GPL version to registered so called "beta testers":
As it seems, this way he (the "Hero Member", ha ha, what kind of people are attracted by such a
spast?)
likes to trick users into registering.
3. Introduction
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:
4. Installation
5. Implementation
6. Configuration
will result in an error. (BTW: In case you're also interested in
Exclusive Mode playback you should ensure that both checkboxes
labeled Exclusive Mode are checked which they are by default.)
7. References
,
8. A Message Silently Disappearing from the
Winamp Forums
9. Some Additional Notes Regarding the Parasite