Go Back   Winamp & Shoutcast Forums > Winamp > Winamp Wishlist

Reply
Thread Tools Search this Thread Display Modes
Old 23rd November 2015, 18:34   #441
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,623
Send a message via AIM to MrSinatra
lol

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 25th November 2015, 05:32   #442
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by thinktink View Post
...
Quote:
Originally Posted by MrSinatra View Post
i'm not an opus guy. would love an ALAC m4a encoder tho.

where are the opus net streams?
There's a number of them on the Icecast directory. http://dir.xiph.org/by_format/Opus
...
Well well well, there's a number of stations in that directory that say they're opus but they're not, they're Vorbis.

Very wrong, very bad form.
thinktink is offline   Reply With Quote
Old 25th November 2015, 05:35   #443
zephalis
Junior Member
 
Join Date: Jul 2015
Posts: 4
All I see in coming out of the installer is in_vorbis.dll and the standard 3 for outputs. Or are you referring to a different installer? I really think this should be part of the core install. The way I see it would be in_opus / out_opus (and for that matter, there really should be an out_mp3).
zephalis is offline   Reply With Quote
Old 25th November 2015, 05:36   #444
zephalis
Junior Member
 
Join Date: Jul 2015
Posts: 4
This made be quickly look around the forums a bit and I'm a little worried that there's no readily available place to download the current version (unless the last build was in 2013), especially with everything saying the new site is supposed to be up this year. I don't have a lot of time to check things like this and it's hard to advertise a product AND a new codec to to people when you have to dig for and install plugins just to make it do basic things. I'm a long time fan of Winamp so I want to see it shine!
zephalis is offline   Reply With Quote
Old 25th November 2015, 05:45   #445
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by zephalis View Post
All I see in coming out of the installer is in_vorbis.dll and the standard 3 for outputs. Or are you referring to a different installer? I really think this should be part of the core install. The way I see it would be in_opus / out_opus (and for that matter, there really should be an out_mp3).
There are a large number of audio file formats that Winamp can't play without 3rd party plugins, Opus is one of them. Also, point of note, the encoder plugins start with "enc_", not "out_".

Right now, the only plugin that will natively support the Opus codec with all the modern API support in Winamp is mine. You will need to download the plugins from my site here: http://bogproghome.hopto.org/downloadwinampopus.html The package will install all of the necessary support plugins and DLLs to fully support the Opus codec in Winamp.


Quote:
Originally Posted by zephalis View Post
This made be quickly look around the forums a bit and I'm a little worried that there's no readily available place to download the current version (unless the last build was in 2013)...
Please see here: http://forums.winamp.com/showthread.php?t=373755
thinktink is offline   Reply With Quote
Old 25th November 2015, 06:15   #446
zephalis
Junior Member
 
Join Date: Jul 2015
Posts: 4
Quote:
Originally Posted by thinktink
Quote:
Quote:
Originally Posted by thinktink View Post
whu? The Opus encoder is already done. It's in the installer package. Been in there for a while now.
Quote:
Originally Posted by sahartech View Post
Install the K-Lite codec pack, add OPUS to your Winamp in_dshow.dll configuration, you're done.
Quote:
Originally Posted by thinktink View Post
There are a large number of audio file formats that Winamp can't play without 3rd party plugins, Opus is one of them. Also, point of note, the encoder plugins start with "enc_", not "out_".
Do you mean "out_wave", "out_DiskWriter", and "out_DirectSound" are "enc_*.dll" or is there somewhere else that I'm supposed to be looking (speaking of the Prefs/Plugins section)?

Quote:
Originally Posted by thinktink View Post
Right now, the only plugin that will natively support the Opus codec with all the modern API support in Winamp is mine. You will need to download the plugins from my site here: http://bogproghome.hopto.org/downloadwinampopus.html The package will install all of the necessary support plugins and DLLs to fully support the Opus codec in Winamp.
And a big big thank you for that!

Quote:
Originally Posted by thinktink View Post
Am I to understand then that all of this is an aside to whatever the new company is doing with Winamp?
zephalis is offline   Reply With Quote
Old 25th November 2015, 09:08   #447
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by zephalis View Post
Do you mean "out_wave", "out_DiskWriter", and "out_DirectSound" are "enc_*.dll" or is there somewhere else that I'm supposed to be looking (speaking of the Prefs/Plugins section)?
From the context of the thread and your mention for a desire for "out_mp3" it appears you have confused the output plugins for encoder plugins. Just to clarify some things I will go ahead and delineate the common types and what they do.

[in_*.dll] These are called input plugins and they decode incoming data, whether it be a file in your filesystem or an online resource such as a file hosted on a webserver or an audio stream. They are also the driving force of the audio processing chain. Not all input plugins actually utilize Winamp's audio processing chain.

[dsp_*.dll] These are called digital signal processor plugins (or just DSPs for short) and they modify/transform audio data from input plugins. For example, equalization, loudness maximization, spacial dilation, noise removal, etc.

[vis_*.dll] These are called visualization plugins. They examine incoming audio data and present visual effects based on that data, like for example, jumping bars that move in response to various frequencies or swirly colored lines that vibrate to the sounds.

[out_*.dll] These are called output plugins and they receive audio data and present it to the audio replication device (AKA, sound cards.) There are more kinds of output devices than the standard PCM audio output devices you find in most computers. They are rare however so the differences between the output plugins that come with Winamp have to do with how PCM data is presented and handled to the audio device.

[gen_*.dll] These are called generic plugins. These don't actually normally work directly on or with the audio data chain but are more about augmenting or changing certain aspects of the Winamp UI or adding additional management functions or expanding Winamp's capabilities outside of audio processing.

[ml_*.dll] These are called media library plugins and these are a special subset of plugins of the Media Library group. Generally (but not always) these plugins are more like playlist management plugins that can utilize a built-in database API from Winamp. I've not yet created an ML plugin yet so my knowledge of these can be a bit iffy.

[enc_*.dll] These are called encoder plugins. They don't actually appear on the plugins preferences pane, aren't part of Winamp normal audio processing chain, and their existence is only seen/felt when a user wants to encode audio media from one type to another, for example, transcoding an MP3 file into a FLAC file.

There are other types but they aren't commonly referenced/distributed and generally work behind the scenes.



Quote:
Originally Posted by zephalis View Post
And a big big thank you for that!
You're welcome.



Quote:
Originally Posted by zephalis View Post
Am I to understand then that all of this is an aside to whatever the new company is doing with Winamp?
I have no idea.
thinktink is offline   Reply With Quote
Old 26th November 2015, 00:05   #448
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,623
Send a message via AIM to MrSinatra
Quote:
Originally Posted by thinktink View Post
Well well well, there's a number of stations in that directory that say they're opus but they're not, they're Vorbis.

Very wrong, very bad form.
interesting. perhaps they confused vorbis comments [the metadata] with vorbis the format. odd tho, b/c why opus and not vorbis the format or ogg?

they should correct it.

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 26th November 2015, 03:31   #449
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
I'm not familiar with Icecast servers so I have no idea what's going on. And as long as they keep doing that they won't get any Winamp listeners. They probably tested it with VLC and assumed Winamp would work too. VLC can play the streams despite their misnomer but I think that's because VLC's Vorbis and Opus decoding probably come from the same plugin, or it has an API that allows it to pass a socket handle to the correct plugin after discovery. Either way, I was still able to get Winamp to play the falsely Opus-labeled vorbis streams by setting the default plugin to in_vorbis and temporarily removing in_bpopus just to confirm my conclusion.

I literally sat here for like 4+ hours with a debug build of in_bpopus trying to figure out why the streams wouldn't play. I only discovered the reason after I finally put temporary debug code in to save the initial raw stream data to a file and opened it with a hex editor. I was not a happy camper when I saw that the Opus header and tag fields were missing from the initial pages.
thinktink is offline   Reply With Quote
Old 26th November 2015, 16:51   #450
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
[opus] Opus 1.1.1 is out!

Quote:
Originally Posted by thinktink's EMailInbox

From: Jean-Marc Valin (via opus mailing list)
Subject: [opus] Opus 1.1.1 is out!

Hi everyone,

After much waiting, Opus 1.1.1 is finally here. The main changes are:
- x86 SSE, SSE2 and SSE4.1 optimizations contributed by Cisco,
- MIPS optimizations contributed by Imagination Technologies,
- ARM Neon optimizations contributed by Linaro and ARM,
- many architecture-independent optimizations,
- memory footprint reductions, and
- several minor bug fixes.

The quality of the encoder should be mostly unchanged compare to version
1.1. The code is available from the downloads page at:
http://www.opus-codec.org/downloads/

Please report any issue you find in this release.

Jean-Marc
So, if you can figure out how to navigate the site and extract the DLLs from the archive you can put them inside the folder labeled "opusfile" and overwrite the old files. The folder is located at "%PROGRAMFILES%\Winamp\opusfile\"

[EDIT/]
Happy Thanksgiving.
thinktink is offline   Reply With Quote
Old 29th November 2015, 15:22   #451
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Would it be possible to provide a ZIP file just containing the files you need to extract to the Winamp Directory?

I used to extract your installer using 7zip, but it seems you used a different packing program for the 2.x installer so I couldn't extract it anymore...
kzuse is offline   Reply With Quote
Old 29th November 2015, 18:09   #452
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by kzuse View Post
Would it be possible to provide a ZIP file just containing the files you need to extract to the Winamp Directory?

I used to extract your installer using 7zip, but it seems you used a different packing program for the 2.x installer so I couldn't extract it anymore...
No since the zip would be blocked by false-positives from the virus scanners on the server. You'll just have to run the self-extractor and then keep the installer open while you extract the files from the installer in the temporary location.

http://forums.winamp.com/showpost.ph...&postcount=428

http://forums.winamp.com/showthread.php?t=386261

[EDIT/]

It would also screw-over my download stats and my limited bandwidth.
thinktink is offline   Reply With Quote
Old 2nd December 2015, 06:50   #453
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Clean build of libopus-0.dll v1.1.1 attached. I had to modify the project properties to get it to include .lib dependencies and change the target type to "Dynamic Link Library" to get it to compile in VS2010

Build log:
Quote:
Originally Posted by VS2010
1>------ Build started: Project: silk_common, Configuration: Release Win32 ------
2>------ Build started: Project: silk_float, Configuration: Release Win32 ------
1> fatal: Not a git repository: 'C:\My Documents\WinampOpus\opus-1.1.1\win32\..\.git'
2> fatal: Not a git repository: 'C:\My Documents\WinampOpus\opus-1.1.1\win32\..\.git'
2> The system cannot find the file specified.
2> Could Not Find C:\My Documents\WinampOpus\opus-1.1.1\win32\version.h_temp
2> apply_sine_window_FLP.c
1> A2NLSF.c
1> ana_filt_bank_1.c
2> autocorrelation_FLP.c
1> biquad_alt.c
2> burg_modified_FLP.c
1> bwexpander.c
2> bwexpander_FLP.c
1> bwexpander_32.c
2> corrMatrix_FLP.c
1> check_control_input.c
1> CNG.c
2> encode_frame_FLP.c
1> code_signs.c
2> energy_FLP.c
1> control_audio_bandwidth.c
2> find_LPC_FLP.c
1> control_codec.c
2> find_LTP_FLP.c
1> control_SNR.c
2> find_pitch_lags_FLP.c
1> debug.c
2> find_pred_coefs_FLP.c
1> decoder_set_fs.c
2> inner_product_FLP.c
1> decode_core.c
2> k2a_FLP.c
1> decode_frame.c
2> levinsondurbin_FLP.c
2> LPC_analysis_filter_FLP.c
1> decode_indices.c
2> LPC_inv_pred_gain_FLP.c
1> decode_parameters.c
2> LTP_analysis_filter_FLP.c
1> decode_pitch.c
2> LTP_scale_ctrl_FLP.c
1> decode_pulses.c
2> noise_shape_analysis_FLP.c
1> dec_API.c
2> pitch_analysis_core_FLP.c
1> Compiling...
1> encode_indices.c
2> Compiling...
2> prefilter_FLP.c
1> encode_pulses.c
2> process_gains_FLP.c
1> enc_API.c
2> regularize_correlations_FLP.c
1> gain_quant.c
2> residual_energy_FLP.c
1> HP_variable_cutoff.c
1> init_decoder.c
2> scale_copy_vector_FLP.c
2> scale_vector_FLP.c
1> init_encoder.c
2> schur_FLP.c
1> inner_prod_aligned.c
2> solve_LS_FLP.c
1> interpolate.c
2> sort_FLP.c
1> lin2log.c
2> warped_autocorrelation_FLP.c
1> log2lin.c
2> wrappers_FLP.c
1> LPC_analysis_filter.c
1> LPC_inv_pred_gain.c
1> LP_variable_cutoff.c
1> NLSF2A.c
2> silk_float.vcxproj -> C:\My Documents\WinampOpus\opus-1.1.1\win32\VS2010\Win32\Release\silk_float.lib
3>------ Build started: Project: celt, Configuration: Release Win32 ------
1> NLSF_decode.c
3> fatal: Not a git repository: 'C:\My Documents\WinampOpus\opus-1.1.1\win32\..\.git'
1> NLSF_del_dec_quant.c
3> bands.c
1> NLSF_encode.c
3> celt.c
1> NLSF_stabilize.c
3> celt_decoder.c
1> NLSF_unpack.c
3> celt_encoder.c
1> Compiling...
1> NLSF_VQ.c
3> celt_lpc.c
1> NLSF_VQ_weights_laroia.c
3> cwrs.c
1> NSQ.c
3> entcode.c
3> entdec.c
1> NSQ_del_dec.c
3> entenc.c
3> kiss_fft.c
1> pitch_est_tables.c
3> laplace.c
1> PLC.c
3> mathops.c
1> process_NLSFs.c
3> mdct.c
3> modes.c
1> quant_LTP_gains.c
3> pitch.c
1> resampler.c
3> quant_bands.c
1> resampler_down2.c
3> rate.c
1> resampler_down2_3.c
1> resampler_private_AR2.c
3> vq.c
1> resampler_private_down_FIR.c
3> celt_lpc_sse.c
1> resampler_private_IIR_FIR.c
3> pitch_sse.c
1> resampler_private_up2_HQ.c
3> Compiling...
3> pitch_sse2.c
1> resampler_rom.c
1> shell_coder.c
3> pitch_sse4_1.c
3> x86cpu.c
1> sigm_Q15.c
1> sort.c
3> x86_celt_map.c
1> stereo_decode_pred.c
1> Compiling...
1> stereo_encode_pred.c
3> celt.vcxproj -> C:\My Documents\WinampOpus\opus-1.1.1\win32\VS2010\Win32\Release\celt.lib
1> stereo_find_predictor.c
4>------ Build started: Project: silk_fixed, Configuration: Release Win32 ------
1> stereo_LR_to_MS.c
4> apply_sine_window_FIX.c
1> stereo_MS_to_LR.c
4> autocorr_FIX.c
1> stereo_quant_pred.c
4>..\..\silk\fixed\autocorr_FIX.c(47): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\autocorr_FIX.c(47): warning C4133: 'function' : incompatible types - from 'opus_int32 *' to 'opus_val32 *'
4> burg_modified_FIX.c
1> sum_sqr_shift.c
4>..\..\silk\fixed\burg_modified_FIX.c(98): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\burg_modified_FIX.c(98): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\burg_modified_FIX.c(98): warning C4133: 'function' : incompatible types - from 'opus_int32 [16]' to 'opus_val32 *'
4>..\..\silk\fixed\burg_modified_FIX.c(101): warning C4244: '=' : conversion from 'opus_val32' to 'opus_int32', possible loss of data
1> tables_gain.c
4> corrMatrix_FIX.c
1> tables_LTP.c
4> encode_frame_FIX.c
1> tables_NLSF_CB_NB_MB.c
4> find_LPC_FIX.c
1> tables_NLSF_CB_WB.c
4> find_LTP_FIX.c
1> tables_other.c
4> find_pitch_lags_FIX.c
1> tables_pitch_lag.c
4> find_pred_coefs_FIX.c
1> tables_pulses_per_block.c
4> k2a_FIX.c
1> table_LSF_cos.c
4> k2a_Q16_FIX.c
1> VAD.c
4> LTP_analysis_filter_FIX.c
1> VQ_WMat_EC.c
4> LTP_scale_ctrl_FIX.c
1> NSQ_del_dec_sse.c
4> noise_shape_analysis_FIX.c
1> NSQ_sse.c
4> pitch_analysis_core_FIX.c
1> VAD_sse.c
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(195): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(195): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(195): warning C4133: 'function' : incompatible types - from 'opus_int32 *' to 'opus_val32 *'
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(641): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(641): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\pitch_analysis_core_FIX.c(641): warning C4133: 'function' : incompatible types - from 'opus_int32 *' to 'opus_val32 *'
4> prefilter_FIX.c
1> VQ_WMat_EC_sse.c
4> process_gains_FIX.c
4> regularize_correlations_FIX.c
1> Compiling...
1> x86_silk_map.c
4> residual_energy16_FIX.c
4> residual_energy_FIX.c
4> Compiling...
4> schur64_FIX.c
4> schur_FIX.c
4> solve_LS_FIX.c
4> vector_ops_FIX.c
4> warped_autocorrelation_FIX.c
4> burg_modified_FIX_sse.c
4>..\..\silk\fixed\x86\burg_modified_FIX_sse.c(110): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\x86\burg_modified_FIX_sse.c(110): warning C4133: 'function' : incompatible types - from 'const opus_int16 *' to 'const opus_val16 *'
4>..\..\silk\fixed\x86\burg_modified_FIX_sse.c(110): warning C4133: 'function' : incompatible types - from 'opus_int32 [16]' to 'opus_val32 *'
4>..\..\silk\fixed\x86\burg_modified_FIX_sse.c(113): warning C4244: '=' : conversion from 'opus_val32' to 'opus_int32', possible loss of data
4> prefilter_FIX_sse.c
4>..\..\silk\fixed\x86\prefilter_FIX_sse.c(110): warning C4244: '=' : conversion from '__int64' to 'opus_int32', possible loss of data
4>..\..\silk\fixed\x86\prefilter_FIX_sse.c(111): warning C4244: '+=' : conversion from '__int64' to 'opus_int32', possible loss of data
4> vector_ops_FIX_sse.c
1> silk_common.vcxproj -> C:\My Documents\WinampOpus\opus-1.1.1\win32\VS2010\Win32\Release\silk_common.lib
4> silk_fixed.vcxproj -> C:\My Documents\WinampOpus\opus-1.1.1\win32\VS2010\Win32\Release\silk_fixed.lib
5>------ Build started: Project: opus, Configuration: Release Win32 ------
5> fatal: Not a git repository: 'C:\My Documents\WinampOpus\opus-1.1.1\win32\..\.git'
5> analysis.c
5> mlp.c
5> mlp_data.c
5> opus.c
5> opus_compare.c
5>..\..\src\opus_compare.c(78): warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
5>..\..\src\opus_compare.c(233): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
5>..\..\src\opus_compare.c(349): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
5>..\..\src\opus_compare.c(367): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
5> opus_decoder.c
5> opus_encoder.c
5> opus_multistream.c
5> opus_multistream_decoder.c
5> opus_multistream_encoder.c
5> repacketizer.c
5> Creating library Win32\Release\opus.lib and object Win32\Release\opus.exp
5> Generating code
5> Finished generating code
5> opus.vcxproj -> C:\My Documents\WinampOpus\opus-1.1.1\win32\VS2010\Win32\Release\opus.dll
========== Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Attached Files
File Type: zip libopus-0.zip (215.8 KB, 254 views)
thinktink is offline   Reply With Quote
Old 2nd December 2015, 16:09   #454
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Thanks. I now used the installer, no problem.

Another question: what is "libsoxr.dll" for? I found that the plugin also works without it (didn't test the encoder, just the input plugin)

Moreover, today I found the time to do the German translation to your lng files. But now is the question: where must I place the .lng files and how must they be named?

I tried in_bpopus.lng in the plugins folder, in the Winamp main folder (which is set as my language directory), also called in_bpopus_de_DE.lng etc., but it wouldn't load it...

Maybe I also did something wrong in compiling the resources.

I attached them in this post, maybe you can test them if they work for you?

(They're beta, please don't redistribute until I had the chance to load them and see the dialogs and German words myself, if there are any more tweakings to be made)...

Thanks again for the great Plugin!! v2.0.1.2 works great!
Attached Files
File Type: zip BogProgOpus2_lng_de_DE.zip (4.3 KB, 193 views)
kzuse is offline   Reply With Quote
Old 2nd December 2015, 18:24   #455
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by kzuse View Post
Thanks. I now used the installer, no problem.
Good to hear it's working as expected.


Quote:
Originally Posted by kzuse View Post
Another question: what is "libsoxr.dll" for? I found that the plugin also works without it (didn't test the encoder, just the input plugin)
libsoxr.dll is a higher-quality re-sampling library than the one used internally. It's only used by the encoder. It's also used by a number of my other plugins in the same manner. It can be safely removed but note that if you do, a lower grade re-sampler will be used.


Quote:
Originally Posted by kzuse View Post
Moreover, today I found the time to do the German translation to your lng files. But now is the question: where must I place the .lng files and how must they be named?

I tried in_bpopus.lng in the plugins folder, in the Winamp main folder (which is set as my language directory), also called in_bpopus_de_DE.lng etc., but it wouldn't load it...

Maybe I also did something wrong in compiling the resources.

I attached them in this post, maybe you can test them if they work for you?

(They're beta, please don't redistribute until I had the chance to load them and see the dialogs and German words myself, if there are any more tweakings to be made)...
They go into the language specific folder inside the Lang folder in the root of the Winamp install folder. Since this is a German translation then they would go into %PROGRAMFILES%\Winamp\Lang\de-de
If either the Lang folder or the de-de folder that's supposed to be inside of it doesn't exist then they will need to be created.

I was able to load your language files and I found a number of issues:
  • Both of the last 2 tabs on the info box dialog for streams (resource ID 102) are showing the exact same text for the tab labels. That's an internal error I will have to fix as I pasted in the wrong string table resource ID. Oops.
  • You have an extra space between the number and the unit of measure in encoder's packet length options.
  • The arrow that points to the bitrate edit box in the encoder dialog is chopped off because of the length of the translated word for "Specify" in the string table. Either widen the control or use a shortened version of the translated word. However, space is at a premium on this dialog as it all has to fit in a confined space for all the options available for encoding so I'm not surprised.
  • Same problem with the VBR combo box as above, the "R)" is getting chopped off.
  • The style flags on the picture control (ID 40007) in the stream info box dialog (ID 103) are set incorrectly. It's allowing the image to be drawn in it's native width/height and is getting clipped into total oblivion. It must have the SS_BITMAP, SS_NOTIFY, and SS_REALSIZECONTROL style flags. SS_REALSIZECONTROL is missing.
If your resource editor doesn't know about SS_REALSIZECONTROL here's the C++ define I'm using:
code:
#ifndef SS_REALSIZECONTROL
#define SS_REALSIZECONTROL 0x00000040L
#endif //SS_REALSIZECONTROL




Quote:
Originally Posted by kzuse View Post
Thanks again for the great Plugin!! v2.0.1.2 works great!
Good to hear.
thinktink is offline   Reply With Quote
Old 2nd December 2015, 20:33   #456
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Thanks for the advices!

I was using an old version of ResHacker which hadn't the definition for REALSIZECONTROL. I used a new version and checked the flag for this control, I hope it is now okay!

I also managed to load the language files. Unfortunately, I have set the Winamp root directory to be my Language directory (as it was in olden times, so my "Deutsch.wlz" just can reside besides Winamp.exe). To get it to work, I had to create a "de-de" folder right inside the Winamp folder, which is a bit cluttery. Maybe I'll set my Language dir to "Lang" some time. Or, would it be possible to change the plugin so it loads .lng files - if not found otherwise - just from the directory the DLL is loaded from, i.e. the "Plugins" directory?

Anyway, I also changed the control width of the dropdown. In Windows XP with its default font, now it all looks fine.

Regarding the spaces between numbers and unit: in German, this is the right spelling rule for all mathematical and physical sizes. Between number and unit, you have to make a space. So it is actually part of the translation. ;-)

I attached the updated versions! (Language file version 1.0.0.2, just called it this way )
Attached Files
File Type: zip BogProgOpus2_lng_de_DE_1_0_0_2.zip (4.3 KB, 185 views)
kzuse is offline   Reply With Quote
Old 2nd December 2015, 22:43   #457
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by kzuse View Post
Thanks for the advices!

I was using an old version of ResHacker which hadn't the definition for REALSIZECONTROL. I used a new version and checked the flag for this control, I hope it is now okay!
It's working as expected now. Odd that a reputable app like ResHacker wouldn't pass along the style flags as-is if you're not actually interacting with the control. Oh well.



Quote:
Originally Posted by kzuse View Post
...Or, would it be possible to change the plugin so it loads .lng files - if not found otherwise - just from the directory the DLL is loaded from, i.e. the "Plugins" directory?
Not from my end, that's all controlled from Winamp's localization management system.



Quote:
Originally Posted by kzuse View Post
Anyway, I also changed the control width of the dropdown. In Windows XP with its default font, now it all looks fine.
It looks fine over here as well.



Quote:
Originally Posted by kzuse View Post
Regarding the spaces between numbers and unit: in German, this is the right spelling rule for all mathematical and physical sizes. Between number and unit, you have to make a space. So it is actually part of the translation. ;-)
I had a feeling that was the case. Sorry hear that man.



If you're satisfied with the way it looks/operates I can definitely include these new language files in my next update.

Last edited by thinktink; 3rd December 2015 at 01:43.
thinktink is offline   Reply With Quote
Old 2nd December 2015, 22:45   #458
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Version 2.0.2.5 now available for download.

Changes:
  • Fixed issue with info box window tabs using the wrong string ID for the last tab label for localization support.
  • Used updated v1.1.1 libopus header for the Input and Encoder plugins. However, it doesn't look like it actually changed anything in the plugins.

[EDIT/]
The self-extraction stub now allows a user to decrypt and unpack the installer archive without executing the installer or doing any clean up before self-termination. This is mostly for kzuse's happiness.

[EDIT2/]
I almost forgot, the new installer also includes the updated v1.1.1 of libopus-0.dll

Last edited by thinktink; 2nd December 2015 at 22:55. Reason: grammar
thinktink is offline   Reply With Quote
Old 3rd December 2015, 07:58   #459
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Very good!!

I have changed a tiny little bit (only one character actually - translated "Encoder" with "Enkoder" as I saw that in the entire Winamp translation (MP4-Enkoder, Vorbis Enkoder etc.) this is translated as well.

Attached is version 1.0.0.3 of the Translation and you can include them in your installer if you want!! Would be a great honor ;-)

Thanks and best regards,
kzuse
Attached Files
File Type: zip BogProgOpus2_lng_de_DE_1_0_0_3.zip (4.3 KB, 205 views)
kzuse is offline   Reply With Quote
Old 3rd December 2015, 09:10   #460
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,623
Send a message via AIM to MrSinatra
TT,

just fyi, when i click the link in your sig for opus to DL, chrome starts DLing it automatically, and then advises me to discard it as a potentially dangerous file ("not commonly downloaded").

not sure you can do anything about it, just wanted to tell u in case u didn't know.

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 4th December 2015, 15:24   #461
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by MrSinatra View Post
TT,

just fyi, when i click the link in your sig for opus to DL, chrome starts DLing it automatically, and then advises me to discard it as a potentially dangerous file ("not commonly downloaded").

not sure you can do anything about it, just wanted to tell u in case u didn't know.
Probably it knows it can't scan encrypted files. I knew it would go that way once I put it inside an encrypted resource. Is a consequence of virus false-positives. Not much I can do about that.
thinktink is offline   Reply With Quote
Old 4th December 2015, 21:48   #462
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Installer now includes kzuse's German localization files.
thinktink is offline   Reply With Quote
Old 4th December 2015, 22:33   #463
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Oh thank you very much!! Hopefully our German opus friends enjoy it :-)
kzuse is offline   Reply With Quote
Old 6th January 2016, 06:24   #464
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
"opusfile 0.7 release" announced

Quote:
Originally Posted by My e-mail inbox (mailing list)
I'm pleased to announce the release of opusfile v0.7.

The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk or over http(s).

Changes since the v0.6 release:

- Add API to access and preserve binary metadata.
- Add support for R128_ALBUM_GAIN metadata tag.
- Better seeking with continued packets and multiplexed streams.
- Portability and build fixes.

This release is backward-compatible with the previous
release but contains updates to conform with the latest
IETF Ogg Opus draft, important performance enhancements,
and bug fixes. We recommend all users upgrade.

Source packages are available from

https://archive.mozilla.org/pub/opus...ile-0.7.tar.gz
https://archive.mozilla.org/pub/opus...le-0.7.tar.zip

or

http://downloads.xiph.org/releases/o...ile-0.7.tar.gz
http://downloads.xiph.org/releases/o...le-0.7.tar.zip

Windows builds (dll and example applications) can be found at

https://archive.mozilla.org/pub/opus...-0.7-win32.zip

MacOS X builds are available from homebrew.

To build from source, unpack on of the packages above and try

./configure && make

or

make -C unix

opusfile depends on libopus and libogg.
opusurl depends on opusfile and openssl.

The library is functional, but there are likely issues
we didn't find in our own testing. Please give feedback
in #opus on irc.freenode.net or at opus@xiph.org.

Programming documentation is available in tree and online at
https://opus-codec.org/docs/opusfile_api-0.7/index.html or
https://opus-codec.org/docs/opusfile_api-0.7.pdf

SHA-256 checksums

9e2bed13bc729058591a0f1cab2505e8cfd8e7ac460bf10a78bcc3b125e7c301
opusfile-0.7.tar.gz
346967d7989bb83b05949483b76bd0f69a12c59bd8b4457e864902b52bb0ac34
opusfile-0.7.zip
c4c4c57b6b4bc9780a08c1e6300cc35846671bee61d8487c277ea1e8041cfbf8
opusfile-0.7-win32.zip

Downloads can also be verified against published checksum files

https://archive.mozilla.org/pub/opus/SHA256SUMS.txt and
https://archive.mozilla.org/pub/opus...SHA256SUMS.txt

Thanks to everyone to contributed to this release!

-r
_______________________________________________
opus mailing list
opus@xiph.org
http://lists.xiph.org/mailman/listinfo/opus
I haven't tried it or looked at the updated API yet but according to the message it should work fine. Ignore the R128 stuff as Winamp doesn't support it (at least as of this post.) If anybody sees any crashes with the new builds please post to this thread and let me know right away first before contacting the Opus developers directly.
thinktink is offline   Reply With Quote
Old 6th January 2016, 07:13   #465
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
v2.0.3.6 now available.

Changes:
  • Fixed issue with version 0.7 of the libopusfile libraries loading dependency failure.
thinktink is offline   Reply With Quote
Old 6th January 2016, 12:45   #466
kzuse
Senior Member
 
kzuse's Avatar
 
Join Date: Oct 2005
Location: (D)
Posts: 480
Send a message via ICQ to kzuse Send a message via Skype™ to kzuse
Works, but only if the libwinpthread-1.dll is present in the opusfile directory. In earlier versions, this file was not needed. Seems as if the libgcc_s_sjlj-1.dll now has a dependency to the new dll.

The other libraries all load fine if the libwinpthread-1.dll isn't there. As I always try to reduce the amount of files to be added to my Winamp folder, I replaced the libgcc_s_sjlj-1.dll with the version from Plugin version 2.0.2.5 and removed the libwinpthread-1.dll. Everything works fine then.

What is the reason for the new version of libgcc_s_sjlj-1.dll and the new dependency?

And: does the new plugin package already contain the 0.7 version of libopusfile? The opus dlls all don't have VERSION_INFO structures so I cannot really determine the version...


As always: THANK YOU for your big effort, and thanks in advance for all the information!
kzuse is offline   Reply With Quote
Old 6th January 2016, 15:46   #467
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
The libopusfile libraries were all compiled by the Opus developers with MinGW: http://www.mingw.org/. They might do that for either personal, political, or legal reasons. Or it could be that MinGW enables certain code size/speed optimizations that MSVC or some other compiler doesn't provide for this particular target. The introduction of a new dependency indicates new code. What that code is I can only guess based on the version changes. Some new "thing" that they've coded now requires it. I don't use MinGW for my projects (though I think I do have it installed from when I compiled a DVD ripping program from source code eons ago) so I don't know what that new library does except to guess by it's name. Since you don't use libopusurl-0.dll I imagine that it's a new function to allow multi-threading in libopusurl which might fix certain issues for playing streams in Winamp using that library. I don't know since I've not tested it.

Actually, I'm in the middle of a hardware project and I probably won't actually fiddle with the new version for a while.

Yes, the new installer includes the new libraries. Since I'm loading the libraries from a non-standard path I have to manually pre-load dependencies in the proper order before the other libraries will load, even if I don't directly use them at all in my code. That's the reason for the latest update of the Opus plugin. Without the update, the new libopus libraries won't load the new 0.7 version.
thinktink is offline   Reply With Quote
Old 6th January 2016, 15:55   #468
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,623
Send a message via AIM to MrSinatra
Quote:
Originally Posted by thinktink View Post
Ignore the R128 stuff as Winamp doesn't support it (at least as of this post.)
true, but there is hope now that Benski is back on the scene, b/c he had previously had something almost release ready prior to his original departure. i think it would also enable RG tags for multi channel audio, (which i don't have a lot of yet, but i do have some so i'm def looking forward to it).

i'll probably just re-analyze my entire collection again should R128 be implemented, since it is different and more accurate i think.

of course, this is all dependent on what happens with winamp next, but i'm hopeful.

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 30th January 2016, 04:39   #469
j7n
Member
 
Join Date: Jul 2005
Posts: 75
Quote:
Originally Posted by thinktink View Post
Ignore the R128 stuff as Winamp doesn't support it
Why don't you translate the header output gain, currently shown under format info, into album ReplayGain (by adding 5 dB), so that Winamp knows that the gain is set? The header gain could have another meaning, and be set to any value, but then again one could do the same thing with RG. As far as I know, the R128 format is currently specific to Opus, all other formats can contain RG tag fields, computed with any method including R128, and handling of this metadata therefore belongs in the Opus plugin, not the Winamp core.
j7n is offline   Reply With Quote
Old 30th January 2016, 05:06   #470
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by j7n View Post
Why don't you translate the header output gain, currently shown under format info, into album ReplayGain (by adding 5 dB), so that Winamp knows that the gain is set? The header gain could have another meaning, and be set to any value, but then again one could do the same thing with RG. As far as I know, the R128 format is currently specific to Opus, all other formats can contain RG tag fields, computed with any method including R128, and handling of this metadata therefore belongs in the Opus plugin, not the Winamp core.
Please see this post: http://forums.winamp.com/showthread....37#post3011537 and the links in it for why I've done this the way I did.
thinktink is offline   Reply With Quote
Old 2nd February 2016, 07:52   #471
j7n
Member
 
Join Date: Jul 2005
Posts: 75
I had missed your earlier post. Foobar's behavior is correct, as it is trying to conform with the specs, which are strict about the fact that Opus files 'should not' contain any replaygain fields. The program had to store the data somewhere. It would have been straightforward for Foobar to use the same vorbis comment fields throughout, but they made an exception.

This restriction and unorthodox behavior of Opus compared to all other file formats, which have been use for over a decade, is indeed weird. If anyone is to blame, it is Xiph, who wanted to make sure loudness normalization was always applied by default.

https://hydrogenaud.io/index.php/top...html#msg860395

The "original encoder" (either person or software) has no reason to apply any post-encoding level adjustment, so there is actually little conflict. If the creator wants to adjust the level, he can multiply the PCM data, which is much easier to integrate in any workflow. In traditional formats, an adjustment is only possible with MP3, where it is most often done with mp3gain with the same aim to equalize loudness. If I don't agree with this adjustment, of course I make the decision to "override" it.

If I follow correctly, the current standard is to use R128_album_gain and keep the output gain 0. This change means that the gain can now be found in two different fields, depending on which software set it. This seems worse than the previous situation. But you could still handle it in the plugin.

1) If AG is present, report AG+5 and TG+5 to winamp, decode with output gain applied.
2) If AG is not present, and TG is present or outputgain is non-zero, report OutputGain+5 as AG and TG+OutputGain+5 as TG to winamp, decode without applying output gain, and let winamp handle the adjustment.

I had read the Gmane thread last year. It is filled with controversy. For example, this post: http://permalink.gmane.org/gmane.ietf.codec/36

Offtopic: The author asserts that players should not fallback to the other gain, if the preferred is not present. That is not what current players do and should do. For example, I normally use album/audiophile gain, but if I encounter a compilation with unbalanced levels, I only include track gain to even it out. Or if I have a segued/mixed album, I deliberately do not include track gain in it to prevent volume jumps.

_____________________________

I have noticed that when editing tags your plugin removes padding originally present after the comment block. This requires the complete file to be rewritten. Opusenc by default adds 512 bytes of padding, enough to hold a standard set of fields, which is kept by Foobar, and tag editing is instant.

Last edited by j7n; 2nd February 2016 at 10:09. Reason: Add link which explains the position of foobar
j7n is offline   Reply With Quote
Old 3rd February 2016, 05:23   #472
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by j7n View Post
... Foobar's behavior is correct...
Are you sure you're not confusing REPLAYGAIN_ with R128_?

Winamp does not (as of this posting) support R128_ gain. Since R128_ determines loudness/signal dB differently from the REPLAYGAIN_ support in Winamp there is no one-size-fits-all formula for converting between the two gain methods. The bug-a-boo isn't in the values themselves but how they are determined.

Foobar stuffing either R128_ or REPLAYGAIN_ into the file's header is no-no IAW the spec. It explicitly stated that the header field is for -->arbitrary<-- post-encoding level adjustments and should always be applied regardless if Track and/or Album R128_/REPLAYGAIN_ is active/present/enabled. There are perfectly good IETF specified R128_ metadata tags for them anyway: R128_TRACK_GAIN and R128_ALBUM_GAIN. At this stage, there is absolutely no legit reason to be putting/adding either R128_ or REPLAYGAIN_ gain into the header, other than the player's developer being too lazy to add the metadata where it belongs.

Since Winamp does not support R128_ gain (even though libopusfile does) I've disabled R128_ completely to provide full support for both the file's header gain (which is applied by default unless the user disables it from the configuration) and Winamp's application of REPLAYGAIN_ as provided by the metadata tags for simultaneous and consistent behavior. Yes, REPLAYGAIN_ support was not included in the IETF specification but since it's still a valid Vorbis metadata tag and Winamp only supports REPLAYGAIN_ anyways, guess what, I put it where it belongs, in the metadata tags.


Now, for foobar2000's behavior:
The file's header output gain is supposed to be applied whether or not R128_ or REPLAYGAIN_ is active. Too late, header output gain already exists in the spec and now anybody can now set a post-encoding level adjustment to compensate for some lack before encoding for whatever reason (like encoding on a small platform like a microcontroller where there might not be enough memory or code space to sample the incoming audio for normalization before encoding.) Let's say it ends up being +3.2dB. Now we transfer the file to a computer for playback and run it through R128_ and it ends up being -0.2dB for track gain and -0.5dB for album gain. Now mind you, all players, by default, apply the header's output gain (by dint of the fact it uses libopusfile which automatically applies it.) What does foobar2000 do? It puts the album gain value into the header output gain, completely overwriting the encoder's post-encoding gain and the difference between track gain and album gain to R128_TRACK_GAIN. So now the output gain is -0.5dB. Ok, that's fine if you only ever want to permanently apply album gain in another player. What about no gain in another player. If you set the different player to apply no gain, guess what, album gain still gets applied and the original post-encoding gain is still gone. Oops.

Adding or setting R128_ or REPLAY_ gain to the file's header output gain is problematic at best. No if's, and's, or but's, full stop.

As far as metadata padding, I saw that. I really didn't care for it though when I first saw even though I understood what it was for. And since it wasn't specified as mandatory in the spec I didn't bother with it. With the way I update/create metadata with the shared code for both the input and encoder plugins for a file it just ends up being wasted space. I've thought about using it when it's available but it would require recoding the metadata tag update code almost completely from scratch. Idunwannadothatrightnow... I might do it after a while if I gather enough patience to do it. As I am in the middle of a hardware project, that might be a while.

[EDIT/]
I just had another look at foobar2000's handling of gain adjustments. I totally forgot, for a single track, not only does foobar2000 modify the header output gain, it explicitly sets R128_TRACK_GAIN to 0dB. WTF! Seriously, don't use foobar2000 as a standard for behavior. And especially don't use foobar2000 if you're wanting to play Opus files in other players, not just Winamp.

thinktink is offline   Reply With Quote
Old 3rd February 2016, 13:51   #473
j7n
Member
 
Join Date: Jul 2005
Posts: 75
Fair enough. Now that my initial enthusiasm about Opus has faded, I think I'll prefer Vorbis which doesn't have these issues.

Quote:
Are you sure you're not confusing REPLAYGAIN_ with R128_?
I see R128 as a refined method for estimating loudness, which is faster and more accurate in uncommon cases like multichannel music. The advantage of using the old RG reference level and tags is that it automatically works in all existing software, without any need to convice developers to implement a new format and waiting for them to come round and do it.
j7n is offline   Reply With Quote
Old 5th February 2016, 10:02   #474
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,623
Send a message via AIM to MrSinatra
i just wanted to add a few comments, sorry if its off topic:

1. i am personally against ever altering audio headers for making any gain adjustments, period. it makes no sense to do it in almost all cases. the problems are that u need a txt tag to undo it, and that tag can be lost, corrupted, etc, and even if its done right, the gain only works one way, as either a track gain, or an album again, it CAN'T be both, so you're locked into whichever one its set to. its also not as accurate as RG txt tags.

thats why i don't use, and i tell other people not to use, things like "mp3gain."

IF someone feels, for whatever reason, that they MUST use header gains, then i would still recommend applying/using a tag based replaygain (be it orig or r128) b/c then you would have a closer adjustment than 0.5db [the amt TT gave for FB2k], (although it won't fix album gain if the header was track gain adjusted)

so on playback, the header gain is applied, and then the txt tag gain is applied, for finer refinement.

[i recall, hopefully accurately, that mp3gain makes changes in 1.5db increments, so the potential is there to be off by 0.75db, which is a non-starter just for that fact alone for me]

2. i do not know what tags r128 uses. i know a fully implemented orig RG uses 4 tags, one for track gain, one for album gain, one for track peak, one for album peak. (peak tags prevent clipping).

i am hoping that r128 has its own separate set of tags. if that were the case, a program like winamp could maintain orig RG tags, and new r128 tags, and then then users via prefs could decide which to use on playback. (not too different right now from a file that has say RG and Soundcheck [apples] tags, where winamp just ignores the SC ones). i'd like it to be: use r128 if present, if not use orig RG if present.

if however r128 simply overwrites RG tags with its own values, then a user will simply need to be responsible for making sure all their tags are orig RG, or r128, meaning how they were analyzed/written, and then set the prefs to use that on playback.

questions:

3. TT, does winamp ignore, or rather, is it possible for winamp to ignore gain adjustments in headers? i would think not, but can u confirm?

4. i didn't really follow your FB2k comments, but the gist seems to be don't use it, which is np for me. however, do u see any issues with winamp one day eventually supporting both RG and r128 simultaneously?

--

my hope is that winamp will NEVER make gain adjustments in headers, and instead only write gain adjustments in tags.

unfortunately, my understanding is that any audio player has to use gain adjustments made in headers if any are made, but at least that's a situation they can avoid creating on their own. one of the reasons i still like to rip CDs and make my own files, is b/c i then know exactly how they were created and whats happened to them since. i purposely store my downloaded files in a separate tree branch precisely b/c i can't speak to how they were made or altered prior to coming into my possession.

ref:

http://forums.winamp.com/showthread.php?t=388525
http://forums.winamp.com/showthread.php?t=345520
http://forums.winamp.com/showthread.php?t=345216
http://forums.winamp.com/showthread.php?t=345499

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 5th February 2016, 18:13   #475
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
@Mr Sinatra

1) Yes
2) Yes, R128 uses different tag names from RG
3) Not globally from a Winamp core setting but from my Opus plugin for Opus files yes.
4) Supporting both, yes. I see no issues with Winamp supporting both R128 and RG.
thinktink is offline   Reply With Quote
Old 23rd March 2016, 17:05   #476
j7n
Member
 
Join Date: Jul 2005
Posts: 75
I recall reading that Opus folk were against using a peak tag, because the peak level of a lossy file can vary depending on the implementation, and recommended that a limiter should be used to prevent hard clipping.
__

I believe that the channel order is wrong for surround. The channels are left in Vorbis/Dolby order (L, C, R, Lr, Rr, Lfe), but should be remapped to Flac/Windows order (L, R, C, Lfe, Lr, Rr). The Vorbis plugin does remap channels.

I made a test stream where channels play individually in order starting from the 13th second: left, right, center and lfe, rear right, rear both. Foobar, AIMP4, and DCBassSourceMod play the opus file correctly.

The format info box shows that the file has a mapping, but the channel order isn't changed. There are no options for channel order in cofiguration, apart from downmix to stereo.

Channel mapping family: 1
Stream count: 4
Coupled count: 2
Map:0;4;1;2;3;5;

https://dl.dropboxusercontent.com/u/...apes_opus.opus
https://dl.dropboxusercontent.com/u/...pes_vorbis.ogg
j7n is offline   Reply With Quote
Old 30th March 2016, 01:52   #477
j7n
Member
 
Join Date: Jul 2005
Posts: 75
A better test file:

https://dl.dropboxusercontent.com/u/...ound_test.opus
j7n is offline   Reply With Quote
Old 16th July 2016, 00:23   #478
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Quote:
Originally Posted by j7n View Post
I recall reading that Opus folk were against using a peak tag, because the peak level of a lossy file can vary depending on the implementation, and recommended that a limiter should be used to prevent hard clipping.
Like the Winamp core plugins and other third party plugins my plugin does not expose a separate replay gain interface for handling Replay Gain tag reading/writing, it just uses the metadata handling API supported by the plugin. It CAN write the peak tags but the internal playback engine of the plugin doesn't use it, it's just there.


Quote:
Originally Posted by j7n View Post
I believe that the channel order is wrong for surround. The channels are left in Vorbis/Dolby order (L, C, R, Lr, Rr, Lfe), but should be remapped to Flac/Windows order (L, R, C, Lfe, Lr, Rr). The Vorbis plugin does remap channels.

I made a test stream where channels play individually in order starting from the 13th second: left, right, center and lfe, rear right, rear both. Foobar, AIMP4, and DCBassSourceMod play the opus file correctly.

The format info box shows that the file has a mapping, but the channel order isn't changed. There are no options for channel order in cofiguration, apart from downmix to stereo.

Channel mapping family: 1
Stream count: 4
Coupled count: 2
Map:0;4;1;2;3;5;

https://dl.dropboxusercontent.com/u/...apes_opus.opus
https://dl.dropboxusercontent.com/u/...pes_vorbis.ogg
Quote:
Originally Posted by j7n View Post
I'm unable to address your issue at this time. However, I might be able to look into it this coming Sunday. I tried to find a standards document for multi-channel audio files but all to no avail. If you can provide some external documentation for the vorbis and windows channel order that would be most helpful.
thinktink is offline   Reply With Quote
Old 20th July 2016, 03:39   #479
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Version 2.0.4.8 is now available for download.

Changes:
  • Added code to change both the playback and transcoding channel order from type Vorbis to type FLAC/Windows. This change affects 3, 5, 6, 7, and 8 channel media. This change has not yet been applied to the encoder.

Download
thinktink is offline   Reply With Quote
Old 22nd July 2016, 21:17   #480
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 3,009
Send a message via Skype™ to thinktink
Anybody tried it yet with the channel order changed?
thinktink is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Winamp > Winamp Wishlist

Tags
opus

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