rock-hopper / shuriken

Shuriken Beat Slicer
GNU General Public License v2.0
107 stars 6 forks source link

The stretch package does have an issue with displaying the waveform #22

Closed trebmuh closed 6 years ago

trebmuh commented 6 years ago

Hi, I've being discovering shuriken on the last days and I'd like to report that, while the 0.5.1 .deb package (from http://download.opensuse.org/repositories/home:/RockHopper/Debian_9.0/) was working great on my Debian Stretch, the 0.5.2 doesn't. It's like it's doing a screenshot of my desktop background (+ icons of the stuff I have on my desktop), and doesn't succeed to display the waveform on the main shuriken window. I'll try to get a short screencast later in case it doesn't make sens to you.

rock-hopper commented 6 years ago

This is very odd. I developed and tested 0.5.2 on AVLinux 2017 (based on Debian Stretch) and never experienced the issue you're describing. The 0.5.1 package was built against Qt4 whereas the 0.5.2 package is built against Qt5.

Could you try building Shuriken both with and without the "--qt4" option to see if the issue is present?

trebmuh commented 6 years ago

Hi @rock-hopper , after a cd src/SndLibShuriken I did:

./configure --without-audio --without-s7 --qt4
configure: error: unrecognized option: `--qt4'

and:

./configure --help
`configure' configures sndlib 22 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root
                          [DATAROOTDIR/doc/ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable_shared    don't build or install the shared library

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-alsa         use ALSA
  --without-audio       don't include any audio functionality
  --with-forth        use Forth as the extension language
  --with-gsl          use GSL, default=yes
  --with-jack         use JACK
  --with-oss          use OSS
  --with-portaudio    use portaudio, default=no
  --with-ruby             use Ruby as the extension language
  --with-s7               use s7, default=yes

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <bil@ccrma.stanford.edu>.

So it looks to me that the --qt4 option isn't available.

trebmuh commented 6 years ago

Mmm OK, it sounds like the build doesn't need an option to build with qt4. Just makind Qt4 dev dependencies available and it builds with Qt4 (I'm building in a chroot with pbuilder).

Sounds like you've been smelling it right. With this 0.5.2 + qt4 build, the issue is gone. Something sounds fishy with the qt5 build then. FYI the 3 qt5 build dependencies (as in debian/control) : libqt5opengl5-dev , qt5-default , and qtbase5-dev are in 5.7.1+dfsg-3+b1 version.

rock-hopper commented 6 years ago

Thanks for testing trebmuh.

I should have made it clear that the "--qt4" option is only for Shuriken's custom build script (which isn't intended for packaging).

So here's the issue: on your machine, the Qt4 build works but the Qt5 build doesn't, whereas on my machine, both the Qt4 and Qt5 builds work. The reason? My hunch is that it's a graphics driver issue. I'm using the open source Radeon drivers on my PC. Are you using proprietry graphics drivers?

trebmuh commented 6 years ago

Are you using proprietry graphics drivers?

AFAIK, I'm using the intel i915 driver.

In case I missed something, here is the output of a lsmod:

Module                  Size  Used by
fuse                  102400  1
ufs                    73728  0
qnx4                   16384  0
hfsplus               106496  0
hfs                    57344  0
minix                  36864  0
ntfs                  106496  0
vfat                   20480  0
msdos                  20480  0
fat                    73728  2 msdos,vfat
jfs                   180224  0
xfs                  1249280  0
libcrc32c              16384  1 xfs
dm_mod                122880  0
snd_seq_midi           16384  1
snd_seq_midi_event     16384  1 snd_seq_midi
snd_seq_dummy          16384  2
snd_hrtimer            16384  1
snd_seq                65536  9 snd_seq_midi_event,snd_seq_dummy,snd_seq_midi
cpufreq_powersave      16384  0
cpufreq_conservative    16384  0
cpufreq_userspace      16384  0
snd_usb_audio         184320  8
snd_usbmidi_lib        28672  1 snd_usb_audio
snd_rawmidi            32768  2 snd_seq_midi,snd_usbmidi_lib
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_hda_codec_realtek    90112  1
snd_hda_codec_generic    73728  1 snd_hda_codec_realtek
snd_hda_intel          36864  2
snd_hda_codec         135168  3 snd_hda_intel,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core           86016  4 snd_hda_intel,snd_hda_codec,snd_hda_codec_generic,snd_hda_codec_realtek
iTCO_wdt               16384  0
iTCO_vendor_support    16384  1 iTCO_wdt
snd_hwdep              16384  2 snd_hda_codec,snd_usb_audio
snd_pcm               114688  6 snd_hda_intel,snd_hda_codec,snd_usb_audio,snd_hda_core
snd_timer              32768  3 snd_seq,snd_hrtimer,snd_pcm
coretemp               16384  0
snd                    86016  29 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_usb_audio,snd_timer,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_seq_device,snd_hda_codec_realtek,snd_pcm
soundcore              16384  1 snd
serio_raw              16384  0
lpc_ich                24576  0
mfd_core               16384  1 lpc_ich
rng_core               16384  0
evdev                  24576  7
sg                     32768  0
shpchp                 36864  0
acpi_cpufreq           20480  0
binfmt_misc            20480  1
parport_pc             28672  1
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,parport_pc,ppdev
ip_tables              28672  0
x_tables               36864  1 ip_tables
autofs4                40960  2
ext4                  602112  1
crc16                  16384  1 ext4
jbd2                  110592  1 ext4
fscrypto               28672  1 ext4
ecb                    16384  0
glue_helper            16384  0
lrw                    16384  0
gf128mul               16384  1 lrw
ablk_helper            16384  0
cryptd                 24576  1 ablk_helper
aes_x86_64             20480  1
mbcache                16384  2 ext4
hid_generic            16384  0
usbhid                 53248  0
hid                   122880  2 hid_generic,usbhid
btrfs                1069056  0
crc32c_generic         16384  4
xor                    24576  1 btrfs
raid6_pq              110592  1 btrfs
uas                    24576  0
usb_storage            73728  1 uas
sd_mod                 49152  3
sr_mod                 24576  0
cdrom                  61440  1 sr_mod
ata_generic            16384  0
i2c_i801               24576  0
i2c_smbus              16384  1 i2c_i801
ata_piix               36864  2
floppy                 69632  0
i915                 1269760  3
libata                253952  2 ata_piix,ata_generic
video                  40960  1 i915
i2c_algo_bit           16384  1 i915
drm_kms_helper        155648  1 i915
ehci_pci               16384  0
button                 16384  1 i915
scsi_mod              225280  6 sd_mod,usb_storage,libata,uas,sr_mod,sg
drm                   368640  5 i915,drm_kms_helper
r8169                  81920  0
mii                    16384  1 r8169
uhci_hcd               45056  0
ehci_hcd               81920  1 ehci_pci
usbcore               253952  8 usbhid,snd_usb_audio,usb_storage,ehci_hcd,uhci_hcd,snd_usbmidi_lib,uas,ehci_pci
usb_common             16384  1 usbcore
rock-hopper commented 6 years ago

I think the best thing I can do is to provide both Qt4 and Qt5 packages.

trebmuh commented 6 years ago

That would be a fair workaround.

Is there a way for me to build with a debug or verbose option then I could report to you some more info ?

rock-hopper commented 6 years ago

Yes, the build script has a "--debug" option.

trebmuh commented 6 years ago

Thanks for the hint. I'll try to find some time to do so early next week (week end will be busy for me) and will get back to you then.

rock-hopper commented 6 years ago

Qt4 packages now available: https://github.com/rock-hopper/shuriken/releases/latest