OSSv42-2004 released, fixes SBo compile error in -current
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Found another problem (and solution), so I'm going to document it here.
Using custom -current kernel 188.8.131.52 with pre-empt, installed gsb-current, then switched from alsa to ossv42-2004 without problems.
Installed jackd, qjackctl, jamin and other jack-aware apps (ie gsb totem via gstreamer, mplayer, smplayer etc), no xruns but with stutter and mild pops during playback when routed via jamin to any of the apps above.
(OSSv4.2 only) You can make OSS ignore jackd's request for exclusive ownership of the device by setting "excl_policy" in /usr/lib/oss/conf/osscore.conf. This will make jackd use vmix, preventing both of the side-effects above.
edit file /usr/lib/oss/conf/osscore.conf, uncomment section in bold below
# By default the O_EXCL open() flag can be used to bypass the virtual mixer.
# Setting excl_policy to 1 or 2 makes OSS ignore O_EXCL. A setting of 1
# ignores O_EXCL from all but root processes, while a setting of 2 always
# ignores O_EXCL.
note: my problem is solved when jackd uses vmix (part of oss mixer name ossxmix)
if using gsb, use gconf-editor to configure gstreamer routing to jack
go to system->gstreamer->0.10->default
input value jackaudiosink buffer-time=2000000 connect=*auto OR none*
into audiosink, musicaudiosink, or chataudiosink
note* : auto will auto-connect all jack-aware apps as they appear, none will not connect anything but connections can be done manually in qjackctl
Just by switching to OSSv4, music playback is enhanced with greater details of high and mids (depending on soundcard, but much better than stock alsa for sure). Jamin as an equalizer is needed for balance. Next is to try wine with jack for foobar2k!
Happy to report wine and foobar2k works with oss-via-jack. OSS works too, just select accordingly as below.
setup wine using winecfg, go to tab: Audio,
- select JACK driver
- set Hardware Acceleration to Full,
- sample rate 48KHz
- bits 16
- requires gdiplus for missing icons/images [install winetricks from SBo, then winetricks gdiplus]
- setup foobar2k, go to menu: Library -> Playback ->
--- DSP Manager, activate Resampler (PPHS), configure to 48KHz
--- Output -> Device: select Wine jack DirectSound driver
Start jackd/qjackctl before launching foobar2k. Must start playing an audio track before jack/qjackctl can see it.
If you customize foobar2k using components, some additional software maybe required (wmp10, vcrun6 etc), can be installed using winetricks. A brief tutorial on components & required software here.
Displaying CJK or non-english fonts can be added using winetricks, then set them for use in foobar2k: Library -> Display -> Default UI -> Color and Fonts.
Notes on mp3 in wine: requires some other deps before building wine. sh configure in wine source directory will show the deps required (mp3-something, libsane, isdn etc). By the way, oss and jack must be built and configured to work before building wine.
MP3 in 64-bit slackware works too but must satisfy the dependency mentioned above. Get access to a 32-bit machine and copy the dep packages to 64-bit OS, then use alien's convert utility. May require more config if wine doesn't find it.
foobar2000 lovely configs: weblogscreenshots
component requirements are listed on the weblog, MS Scripting Control could be problematic under wine.
Last edited by linuxs64; 01-09-2011 at 07:00 PM.
Reason: add notes on mp3 requirements, foobar2k configs
Warning: Protect your ears/speakers before testing. Slowly increase volume from 0.
quality - quality to use for conversion, supported values are:
0 - D lowest quality (normally equals to low quality)
1 - L low quality (spline interpolation)
2 - M medium quality (lagrange interpolation)
3 - H high quality
4 - HX high quality (high quality with extra precision) 5 - P production quality
6 - PX production quality (prod quality with extra precision)
(PX is currently disabled because it causes a crash)
As seen above, there are 7 levels of audio resampling available in OSSv4x. Default is 0-3.
# Set GRC3 min/max conversion quality setting to 3 to conserve space.
# TODO: Add support for configurable quality settings.
export GRC_MIN_QUALITY GRC_MAX_QUALITY
To make available these resamplers, edit the configure script (in the source) as described above, then use the modified source to compile OSSv4x.
Note that level 6 (production quality with extra precision) is not for use, as it causes crash. The UI (ossxmix) also cannot configure it post-install as it is not implemented (see blue line above). However, it can be configured via ossmix (see below).
Whenever ossxmix (the UI) is launched, vmix0-src settings are reverted back to Fast or High, so apply command "ossmix vmix0-src 5" to set the sampling mode again. Higher sampling mode gives better audio quality, but uses more cpu cycles (5-10%).