Copyright © 2013-2017 by Peter Belkner <info@pbelkner.de>
This program 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.
This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
Download the Latest Version
Yet Another Shuffle (YAS) is a shuffle replacement plugin for
Winamp.
Contents
1. About
Home: | http://gen-yas.sourceforge.net/ | |
Project: | http://sourceforge.net/projects/gen-yas/ | |
Download: | http://sourceforge.net/projects/gen-yas/files/ | |
YAS at WA Forum: | http://forums.winamp.com/showthread.php?t=373206 (discontinued) |
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.
YAS aims to shuffle through almost all tracks from a playlist (as opposed to just shuffling through a subset of the playlist). In order to achieve this, YAS
YAS identifies a playlist by a hash code. A playlist's hash code is computed from
A pool of tracks not played so far from a playlist is made persistent between activations of that particular playlist by storing it in a file with a name representing the playlist's hash code. Those files are stored in directory "%APPDATA%\Winamp\Plugins\gen_yas".
NOTE: YAS is incompatible with JTFE (Jump to File Extra).
In order to use YAS, JTFE has to be deactivated.
4.1. Status
The "Clear" button allows for resetting the pool associated
to a playlist to contain the whole playlist.
The slider allows controlling when the pool associated to a playlist
is reset to contain the whole playlist:
The checkbox defines whether the plugin's state is synchronized
with the hard disc drive after each track played (checked) or whether
only once when Winamp is shut down (unchecked).
4.2. Options
4.3. Compiler
The Options page just displayes the compiler used to compile and
link the plugin, i.e. whether it was MSVC or GCC (cf. section
How to compile gen_yas.dll for yourself
below). Please note that the binary distribution is compiled using MSVC.
2. News
2020-03-28
This project is discontinued. There's a new version of this plug-in
available under the umbrella of the
YPiB-project.
2017-01-17
0.2.0
2013-12-14
0.1.2
2013-11-23
0.1.1
"Number of Tracks Already Played" also displays percentage.
2013-11-23
0.1
2013-10-27
0.0.4
2013-10-20
0.0.3
Technically the length of a playlist is no longer
part of it's correponding hash code. Instead the associated files's
name is prefixed by the playlist's length.
2013-10-20
0.0.2
Preferences dialog added.
2013-10-13
0.0.1
Initial release.
3. Installation
.
4. Configuration
5. How to compile gen_yas.dll for yourself
$ tar xfvz ./gen_yas-2-0.2.0-src.tar.gz
./gen_yas-2-0.2.0/bits
./gen_yas-2-0.2.0/bits.c.X
./gen_yas-2-0.2.0/configure
./gen_yas-2-0.2.0/COPYING
./gen_yas-2-0.2.0/gen_yas/
./gen_yas-2-0.2.0/gen_yas/bits
./gen_yas-2-0.2.0/gen_yas/configure
./gen_yas-2-0.2.0/gen_yas/COPYING
./gen_yas-2-0.2.0/gen_yas/dlgitemurl.c
./gen_yas-2-0.2.0/gen_yas/dlgitemurl.h
./gen_yas-2-0.2.0/gen_yas/doc/
./gen_yas-2-0.2.0/gen_yas/doc/css/
./gen_yas-2-0.2.0/gen_yas/doc/css/styles.css
./gen_yas-2-0.2.0/gen_yas/doc/images/
./gen_yas-2-0.2.0/gen_yas/doc/images/0.0.2/
./gen_yas-2-0.2.0/gen_yas/doc/images/0.0.2/options.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.0.2/status.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1/
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1/mixed.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1/mixed67.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1/options.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1/status.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1.1/
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1.1/options-67.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1.1/options.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1.1/status-67.jpg
./gen_yas-2-0.2.0/gen_yas/doc/images/0.1.1/status.jpg
./gen_yas-2-0.2.0/gen_yas/doc/index.html
./gen_yas-2-0.2.0/gen_yas/gen_yas.c
./gen_yas-2-0.2.0/gen_yas/Makefile
./gen_yas-2-0.2.0/gen_yas/nsi/
./gen_yas-2-0.2.0/gen_yas/nsi/gen_yas.nsi
./gen_yas-2-0.2.0/gen_yas/rc/
./gen_yas-2-0.2.0/gen_yas/rc/manifest.xml
./gen_yas-2-0.2.0/gen_yas/rc/resources.h
./gen_yas-2-0.2.0/gen_yas/rc/resources.rc
./gen_yas-2-0.2.0/gen_yas/rules.mak
./gen_yas-2-0.2.0/gen_yas/version.mak
./gen_yas-2-0.2.0/gen_yas/yas.h
./gen_yas-2-0.2.0/gen_yas/yas_id.c
./gen_yas-2-0.2.0/gen_yas/yas_macros.h
./gen_yas-2-0.2.0/gen_yas/yas_plugin.c
./gen_yas-2-0.2.0/gen_yas/yas_pool.c
./gen_yas-2-0.2.0/gen_yas/yas_prefs.c
./gen_yas-2-0.2.0/gen_yas/yas_prefs.h
./gen_yas-2-0.2.0/gen_yas/yas_queue.c
./gen_yas-2-0.2.0/gen_yas/yas_trace.c
./gen_yas-2-0.2.0/Makefile
./gen_yas-2-0.2.0/mt/
./gen_yas-2-0.2.0/mt/bits
./gen_yas-2-0.2.0/mt/configure
./gen_yas-2-0.2.0/mt/COPYING
./gen_yas-2-0.2.0/mt/Makefile
./gen_yas-2-0.2.0/mt/mt.h
./gen_yas-2-0.2.0/mt/mt19937ar/
./gen_yas-2-0.2.0/mt/mt19937ar/mt19937ar.c
./gen_yas-2-0.2.0/mt/mt19937ar/mt19937ar.out
./gen_yas-2-0.2.0/mt/mt19937ar/readme-mt.txt
./gen_yas-2-0.2.0/mt/mt19937ar-patched-global-state.c
./gen_yas-2-0.2.0/mt/mt19937ar-patched-global-state.patch
./gen_yas-2-0.2.0/mt/mt19937ar-patched-local-state.c
./gen_yas-2-0.2.0/mt/mt19937ar-patched-local-state.patch
./gen_yas-2-0.2.0/mt/mt19937ar_clear.c
./gen_yas-2-0.2.0/mt/rules.mak
./gen_yas-2-0.2.0/mt/version.mak
./gen_yas-2-0.2.0/rules.mak
./gen_yas-2-0.2.0/version.mak
$ cd ./gen_yas-2-0.2.0
$ ./configure --help
Usage: ./configure [OPTION]... [VAR=VALUE]...
OPTIONS:
Avoid white space left and right the equal sign:
--with-msvs=default
Use default locations for Microsoft Visual C and Microsoft SDK
Avoid white space left the equal sign:
'--with-msvs=<folder where Microsoft Visual C is installed>'
'--with-mssdk=<folder where Microsoft SDK is installed>'
'--with-wasdk=<folder where Winamp SDK is installed>'
'--with-nsis=<folder where NSIS is installed>'
$ ./configure && make
CONF build/gen_yas
CONF build/mt
MAKE build/mt
GCC mt19937ar_clear.o
AR libmt.a(mt19937ar_clear.o)
GCC mt19937ar-patched-global-state.o
AR libmt.a(mt19937ar-patched-global-state.o)
GCC mt19937ar-patched-local-state.o
AR libmt.a(mt19937ar-patched-local-state.o)
CP libmt.a
CP mt.h
MAKE build/gen_yas
CP resources.h
GCC gen_yas.o
SED resources.rc
SED manifest.xml
WINDRES resources.o
GCC yas_id.o
AR libyas.a(yas_id.o)
GCC yas_plugin.o
AR libyas.a(yas_plugin.o)
GCC yas_pool.o
AR libyas.a(yas_pool.o)
GCC yas_prefs.o
AR libyas.a(yas_prefs.o)
GCC yas_queue.o
AR libyas.a(yas_queue.o)
GCC yas_trace.o
AR libyas.a(yas_trace.o)
GCC dlgitemurl.o
AR libyas.a(dlgitemurl.o)
GCC gen_yas.dll
CP gen_yas.dll
CP libyas.a
CP yas.h
$ find ./ -name gen_yas.dll
./bin/gen_yas.dll
./build/gen_yas/gen_yas.dll
in order to remove each dependent file.
$ make clean
CONF build/gen_yas
CONF build/mt
$ ./configure --with-msvs=default && make
CONF build/gen_yas
CONF build/mt
MAKE build/mt
CL mt19937ar_clear.obj
LIB libmt.lib(mt19937ar_clear.obj)
CL mt19937ar-patched-global-state.obj
LIB libmt.lib(mt19937ar-patched-global-state.obj)
CL mt19937ar-patched-local-state.obj
LIB libmt.lib(mt19937ar-patched-local-state.obj)
CP libmt.lib
CP mt.h
MAKE build/gen_yas
CP resources.h
CL gen_yas.obj
SED resources.rc
SED manifest.xml
RC resources.res
CL yas_id.obj
LIB libyas.lib(yas_id.obj)
CL yas_plugin.obj
LIB libyas.lib(yas_plugin.obj)
CL yas_pool.obj
LIB libyas.lib(yas_pool.obj)
CL yas_prefs.obj
LIB libyas.lib(yas_prefs.obj)
CL yas_queue.obj
LIB libyas.lib(yas_queue.obj)
CL yas_trace.obj
LIB libyas.lib(yas_trace.obj)
CL dlgitemurl.obj
LIB libyas.lib(dlgitemurl.obj)
CL gen_yas.dll
CP gen_yas.dll
CP libyas.lib
CP yas.h
$ find ./ -name gen_yas.dll
./bin/gen_yas.dll
./build/gen_yas/gen_yas.dll