Old 30th April 2018, 19:17   #1
Ramon_Unchained
Junior Member
 
Join Date: Apr 2018
Posts: 4
in_opus plugin for Winamp 2 (release)

Hello, this is the first time I post on this forum, I wrote a plugin for winamp 2+ to support reading of OPUS audio files, so I decided to share it in case anyone would be interested.

I developed this plugin because I wanted to be able to play OPUS files with Winamp 2, both on my Windows XP machine and an old Windows 98 SE, That is still used for playing music and for retro gaming at my home.

I had to build myself the libraries because they include dependencies that are not present on this old OS.

The plugin was tested and works fine on Windows 98SE/NT4/XP/2003/7.

There is a very good plugin that was already written by thinktink but it only works for Winamp 5.

I provide this plugin for compatibility with old platforms. to my knowledge, this is the only Opus player for Windows 98. and some of you may still use Winamp 2 for some reasons.
Attached Files
File Type: zip in_opus.zip (111.6 KB, 1026 views)
Ramon_Unchained is offline   Reply With Quote
Old 21st July 2018, 18:56   #2
hairlessbunny
Banned
 
Join Date: May 2018
Posts: 2
Doesn't seem to be working under Winamp 5.666 and a file encoded using oggenc:

code:
ffprobe test.ogg
[ogg @ 0x98047c0] 550 bytes of comment header remain
Input #0, ogg, from 'test.ogg':
Duration: 04:33:21.47, start: 0.000000, bitrate: 41 kb/s
Stream #0:0: Audio: opus, 48000 Hz, mono, fltp
Metadata:
ENCODER : opusenc from opus-tools 0.1.10-71-32d4b475 AVX1 [Jun 3 2018]
ENCODER_OPTIONS : --bitrate 48

hairlessbunny is offline   Reply With Quote
Old 31st July 2018, 08:21   #3
Ramon_Unchained
Junior Member
 
Join Date: Apr 2018
Posts: 4
To avoid any interference with the ogg vorbis files, my plugin only considers files with the extensions .opus or .opu. Try renaming the file and let me know; the plugin will in no cases be loaded if the file extension is .ogg.

Winamp 5 only knows ogg vorbis files and thus anything with the extension .ogg is assumed to contain a vorbis stream, in your case it contains an opus stream, the "proper" way to name those files is actually .opus, same container but different stream.

When I made experiments with various files it appeared that some opus streams would not be decoded by libopusfile, when they would work just fine with other decoders such as the one within Mplayer.

As I did not want to take time to try other decoders I just use ffmpeg to fix the file with the command:

ffmpeg -i broken.opus -acodec copy unbroken.opus

In case renaming the file does not work, try this...
Ramon_Unchained is offline   Reply With Quote
Old 18th April 2019, 06:47   #4
Ramon_Unchained
Junior Member
 
Join Date: Apr 2018
Posts: 4
Update in_opus v0.444

Here is a new update of my in_opus plugin which is now version 0.444.
Using it I encountered a few isues and I fixed them so now I share them as promised.

* FIXED: A few bugs in reading tags.

* NEW: ReplayGain supported, it uses the standart R128 tag, in 256th of dB
there is no configuration box, if you want to enable replay gain, you have
to write it directly in the Winamp.ini file in winamp's directory.
If no parameters are written, no replay gain of any kind will be applied.
The plugin will not write anything into winamp.ini, you have to write those
options yourself and restart Winamp or go to the config dialor box of
in_opus, this will read the configuration, you will need to stop and start
playback again though.

Open "winamp.ini" with notepad and paste at the end the folowing 4 lines:

[IN_OPUS]
USE_REPLAY_GAIN=1
PRE_GAIN=0.0
THREAD_PRIORITY=1

to use Album gain, set USE_REPLAY_GAIN=1 and set it to 2 for track gain, or 0 to disable replay gain.

the PRE_GAIN value is a preamplification factor in dB that is applied before the gain. you should consider putting a negative value if you experience clipping problems. A common value is -6dB (ultra safe, very rare clipping) 0 is usually OK becaus the gain is almost always negative anyway. You should use the same parameters with the others plugins. If you are reading this, it means you know what you are doing anyway.

You can set the decode priority thread (default is 1, above normal) other values are: -2: Lowest, -1: Below Normal; 0: Normal; 1: Above Normal; 2 Higher You can also try -15: Idle (not recomended) or +15: Real Time (not recomended)

For more details read the txt file in the zip.
Hope it helps a few guys out there.
If any one wants the source, just e-mail me.
Attached Files
File Type: zip in_opus_v0.444.zip (114.0 KB, 352 views)
Ramon_Unchained is offline   Reply With Quote
Old 25th May 2019, 06:20   #5
Vaporeon
Junior Member
 
Join Date: Oct 2018
Posts: 2
Nice plugin, however v0.444 Crashes for me on any version of Winamp when attempting to play anything, either on 5.8b/Win10 or 2.95 in Windows 98 SE. The version in the OP works though.
Vaporeon is offline   Reply With Quote
Old 9th June 2019, 19:49   #6
Ramon_Unchained
Junior Member
 
Join Date: Apr 2018
Posts: 4
Update in_opus v0.555

Here is again a new update.

This one is quite important as it introduces support for Windows 95.
It also introduces UNICODE support on Win NT/2000/XP/7 and later.
Finally it uses the latest opus 1.3.1 and libopusfile 0.11.

@Vaporeon: Hopefully it should fix the crash you encountered.

I could not test it on Windows 10 but a friend told me it as working on his machine.
However all machines are not equal and I just tested it myself with:
Windows 95/98SE/NT4/2000 (Pentium III),
Windows Server 2003 (Core 2 duo)
and Windows 7 (Xeon)

* NEW:
The font used for "Opus File Info" dialog can now be customized.
I figured his would be helpful with Unicode support.
add in the [IN_OPUS] section of Winamp.ini

TAGS_FONT=11 Times New Roman

To select Times New Roman 11pt font, you can use any font available on yous system.

Finally an option to enable or disable dithering was added. This is because some of you might prefer to disable it for personal preference or because of performance.
I had a 35% faster decoding without dithering.
Set USE_DITHERING=0 to disable or 1 to enable (default).

See changelog in the in_opus.txt file,
and take a look at the configurations options for more details.
Attached Files
File Type: zip in_opus_v0.555.zip (99.1 KB, 339 views)
Ramon_Unchained is offline   Reply With Quote
Old 27th June 2019, 22:06   #7
J_Ason
Junior Member
 
Join Date: Mar 2013
Posts: 3
Thank you Ramon, very cool!
J_Ason is offline   Reply With Quote
Old 13th July 2019, 14:58   #8
anonim1979
Junior Member
 
Join Date: Oct 2018
Posts: 2
Is it possible to add ability to play Opus radio streams?

I'm using Media Library with added Icecast www page:

Media Library -> Online Media (right click add NEW) -> Icecast / http://dir.xiph.org/index.php

that has some radio stations with Opus streams; M3U/XSPF playlists.

ex.
http://listen.radiogibson.net:80/radiogibson.opus
http://stream.radioreklama.bg:80/veronika.opus
anonim1979 is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > Winamp Development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump