Linux Volume control not linear
#16
I might be able to test this tomorrow.

But I could need some instructions as to how I can undo the test and revert to a regular PPA install afterwards given that I boot directly into XBMC (xbmclive setup). Or, alternatively, if it is possible for me to install the test xbmc into another directory, alongside my regular xbmc, and launch it from another user (thus perserving my Gotham 13.2 PPA .xbmc folder).
Reply
#17
By default those instructions install to /usr/local so your ppa is not touched at all. You just need to make sure that you run /usr/local/bin/xbmc if you want to test that branch. The ppa provides /usr/bin/xbmc

When you are finished with testing, just run: sudo make uninstall and everything will be gone.

Thanks much
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#18
Instructions from scratch:

Code:
sudo apt-get build-dep xbmc
git clone https://github.com/fritsch/xbmc.git
cd xbmc
git checkout -b pa-rework-async-volume pa-rework-async-volume
git reset --hard
git clean -xfd
./bootstrap
./configure --disable-debug
make -j5

If everything has finished correctly, you can install it via:
Code:
sudo make install

The new exectuable script is /usr/local/bin xbmc Make a backup of your .xbmc directory prior to testing, please.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#19
Thanks for being so helpful. I am busy tonight, but tomorrow I might be able to test. Intend to create a separate user too, to ensure that nothing will go wrong with my .xbmc directory (in addition to a backup, of course).

Will message back here when done.
Reply
#20
@fritsch: I just tested it on Debian Wheezy (amd64) and it works exactly as you described. It's quite neat ! Thanks
Reply
#21
@SaintGerman: I have to thank. I like working together with users - cause we can find bugs before the release.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#22
And thank you for doing so. Often in open source the devs are a bit removed from the users, on the mailing lists etc. It is very useful and rewqarding for users as well to take part in development by testing etc. And it might even lead those of us users that are able to contribute :-)

I will still probably have time for testing tonight (CET). Do you still need me to do so, or is the report from SaintGermain sufficient?
Reply
#23
The more testers the better as he had wheezy and you ubuntu that would be good. Thx much.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#24
Nice - I found a bug. When watching live tv and doing fast channel switching PA would crash - I left a lock too early.

As I am PRing I force pushed, you can fetch and reset --hard to get the new commits.

Code:
git fetch origin
git reset --hard origin/pa-rework-async-volume
git clean -xfd
./bootstrap
./configure --disable-debug
make -j5

If all went well: sudo make uninstall followed by sudo make install
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#25
Will try to test tonight, didn't get a minute free yesterday... (busy days)
Reply
#26
I have pushed the patches to xbmc master - it should be automatically in tomorrow's nightly build. So if you want to wait until tomorrow, you can easily install it from the mirror - this will upgrade your existing version though.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#27
Okey. I was going to test now, but failed with the following:
Code:
oby@ObyDesktop:~/Desktop/xbmc/xbmc$  git checkout -b pa-rework-async-volume pa-rework-async-volume
fatal: Cannot update paths and switch to branch 'pa-rework-async-volume' at the same time.
Did you intend to checkout 'pa-rework-async-volume' which can not be resolved as commit?
I guess this is because the pull request now has been merged?
Reply
#28
nope - there is an origin/pa-rework-async-volume missing, sorry

Code:
sudo apt-get build-dep xbmc
git clone https://github.com/fritsch/xbmc.git
cd xbmc
git checkout -b pa-rework-async-volume origin/pa-rework-async-volume
git reset --hard
git clean -xfd
./bootstrap
./configure --disable-debug
make -j5
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#29
Okey, thanks! Will test now on my desktop. Realized that this was a better idea than to test on my "live" media center.

FFS, Ubuntu didn't want to make it easy... Now it fails on ./configure:
Code:
oby@ObyDesktop:~/xbmc$ ./configure --disable-debug
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for git... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) none
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking how to run the C++ preprocessor... g++ -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... yes
checking dependency style of g++... (cached) none
checking how to run the C++ preprocessor... g++ -E
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gawk... (cached) gawk
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for uid_t in sys/types.h... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether closedir returns void... no
checking for error_at_line... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking whether gcc needs -traditional... no
checking whether lstat correctly handles trailing slash... yes
checking whether lstat accepts an empty string... no
checking whether lstat correctly handles trailing slash... (cached) yes
checking for working memcmp... yes
checking whether time.h and sys/time.h may both be included... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for sys/param.h... yes
checking for utime.h... yes
checking for alarm... yes
checking for working mktime... yes
checking for getpagesize... yes
checking for working mmap... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking whether stat accepts an empty string... no
checking for working strcoll... yes
checking for strftime... yes
checking for working strtod... yes
checking whether utime accepts a null argument... yes
checking for vprintf... yes
checking for _doprnt... no
checking for atexit... yes
checking for dup2... yes
checking for fdatasync... yes
checking for floor... no
checking for fs_stat_dev... no
checking for ftime... yes
checking for ftruncate... yes
checking for getcwd... yes
checking for gethostbyaddr... yes
checking for gethostbyname... yes
checking for gethostname... yes
checking for getpagesize... (cached) yes
checking for getpass... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for lchown... yes
checking for localeconv... yes
checking for memchr... yes
checking for memmove... yes
checking for memset... yes
checking for mkdir... yes
checking for modf... yes
checking for munmap... yes
checking for pow... no
checking for rmdir... yes
checking for select... yes
checking for setenv... yes
checking for setlocale... yes
checking for socket... yes
checking for sqrt... no
checking for strcasecmp... yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strpbrk... yes
checking for strrchr... yes
checking for strspn... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking for sysinfo... yes
checking for tzset... yes
checking for utime... yes
checking for posix_fadvise... yes
checking for localtime_r... yes
checking size of int... 4
checking size of size_t... 8
checking for __sync_add_and_fetch(temp, 1)... yes
checking for __sync_sub_and_fetch(temp, 1)... yes
checking for __sync_val_compare_and_swap(temp, 1, 1)... yes
checking for std::u16string... no
checking for std::u32string... no
checking for char16_t... no
checking for char32_t... no
checking size of wchar_t... 4
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... yes
checking for boost/shared_ptr.hpp... yes
checking for python... /usr/bin/python
checking for a version of Python >= '2.1.0'... yes
checking for a version of Python >= 2.4... yes
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python2.7
checking for Python library path... -L/usr/lib -lpython2.7
checking for Python site-packages path... /usr/lib/python2.7/dist-packages
checking python extra libraries... -L/usr/lib -lz -lpthread -ldl  -lutil
checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
checking consistency of all components of python development environment... yes
configure: Using Python 2.7
== Wayland disabled. ==
checking for main in -lGL... yes
checking for main in -lGLEW... yes
checking for main in -lGLU... yes
checking for mysql_config... /usr/bin/mysql_config
checking ass/ass.h usability... yes
checking ass/ass.h presence... yes
checking for ass/ass.h... yes
checking mpeg2dec/mpeg2.h usability... yes
checking mpeg2dec/mpeg2.h presence... yes
checking for mpeg2dec/mpeg2.h... yes
checking for mpeg2dec/mpeg2convert.h... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking ogg/ogg.h usability... yes
checking ogg/ogg.h presence... yes
checking for ogg/ogg.h... yes
checking vorbis/vorbisfile.h usability... yes
checking vorbis/vorbisfile.h presence... yes
checking for vorbis/vorbisfile.h... yes
checking libmodplug/modplug.h usability... yes
checking libmodplug/modplug.h presence... yes
checking for libmodplug/modplug.h... yes
checking FLAC/stream_decoder.h usability... yes
checking FLAC/stream_decoder.h presence... yes
checking for FLAC/stream_decoder.h... yes
checking curl/curl.h usability... yes
checking curl/curl.h presence... yes
checking for curl/curl.h... yes
checking for libcurl soname... libcurl-gnutls.so.4
checking for CRYPTO_set_locking_callback(0) in libcurl-gnutls.so.4... no
checking openssl/crypto.h usability... yes
checking openssl/crypto.h presence... yes
checking for openssl/crypto.h... yes
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
checking for main in -lgpg-error... yes
checking for gcry_control in -lgcrypt... yes
checking for GNUTLS... yes
checking for main in -lbz2... yes
checking for main in -ljpeg... yes
checking for main in -ltiff... yes
checking for main in -lpthread... yes
checking for pthread_setname_np in -lpthread... yes
checking for main in -llzo2... yes
checking for main in -lz... yes
checking for main in -lcrypto... yes
checking for main in -lssl... yes
checking for main in -lmysqlclient... yes
checking for hci_devid in -lbluetooth... yes
checking for main in -lyajl... yes
checking for main in -ltinyxml... yes
checking for LIBXML... yes
checking for LIBXSLT... no
configure: error: Could not find a required library. Please see the README for your platform.

EDIT: Fixed by install ing libxslt1-dev manually.
Reply
#30
Test case 1: Changing XBMC internal volume = changes pavucontrol volume for Playback application XBMC.

Test case 2: Moved the slider for Playback application XBMC in pavucontrol to 95%, pressed the "+" in XBMC once, but volume in pavucontrol is still at 95%.

Test case 3: Moved the slider for Playback application XBMC in pavucontrol to 85%, pressed the "+" in XBMC once, volume in pavucontrol changed to 86%.

I guess that == success?
Reply

Logout Mark Read Team Forum Stats Members Help
Volume control not linear0