GithubHelp home page GithubHelp logo

jack-smf-utils's People

Contributors

jofemodo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jack-smf-utils's Issues

Playback not starting

When I'm trying to use jack-smf-player with -t, it doesn't play.
By digging a little, I identified some trouble.

At this start location:
playback_started = jack_frame_time(jack_client);

The frame time is receiving a large value, which overflows into negative when it gets stored into int.
(example -884162377)

This condition enters, and the file never plays.

	if (playback_started < 0)
		return;

It was on Jack 1.9.14.
Linux ext 5.4.6-arch3-1 #1 SMP PREEMPT Tue, 24 Dec 2019 04:36:53 +0000 x86_64 GNU/Linux

Addendum: it was resolved when I extended playback_started to be a 64-bit integer.

When using jack transport, implement BPM changes

Currently, jack transport BPM changes have no effect at all.
There is a note in the source code:

static int
sync_callback(jack_transport_state_t state, jack_position_t *position, void *notused)
{
	assert(jack_client);

	/* XXX: We should probably adapt to external tempo changes. */

	if (state == JackTransportStarting) {
		song_position = position->frame;
		smf_seek_to_seconds(smf, nframes_to_seconds(position->frame));

		if (!be_quiet)
			g_debug("Seeking to %f seconds.", nframes_to_seconds(position->frame));

		playback_started = jack_frame_time(jack_client);

	} else if (state == JackTransportStopped) {
		playback_started = -1;
	}

	return TRUE;
}

It's a good starting point ...

Problems with compiling the package in Manjaro Arch Linux

Hi, I have had issues with compiling the software both on Manjaro 2022 and 2023. I made sure the required libraries are installed, but the errors keep coming... whereas in previous versions of Manjaro there were no compilation errors. Here is the error I am currently getting:

Building jack-smf-utils...
==> Making package: jack-smf-utils 1.0-5 (Mo 10 Apr 2023 21:46:01 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading jack-smf-utils-1.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   387  100   387    0     0    885      0 --:--:-- --:--:-- --:--:--   887

100  117k  100  117k    0     0   166k      0 --:--:-- --:--:-- --:--:--  166k
==> Validating source files with md5sums...
    jack-smf-utils-1.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting jack-smf-utils-1.0.tar.gz with bsdtar
==> Starting build()...
configure.ac:8: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:8: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:8: the top level
configure.ac:34: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:34: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:34: the top level
configure.ac:40: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:40: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:40: the top level
configure.ac:49: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:49: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:49: the top level
configure.ac:11: installing './compile'
configure.ac:46: installing './config.guess'
configure.ac:46: installing './config.sub'
/usr/share/automake-1.16/am/library.am: warning: 'libsmf.a': linking libraries using a non-POSIX
/usr/share/automake-1.16/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libsmf/Makefile.am:1:   while processing library 'libsmf.a'
/usr/share/automake-1.16/am/library.am: warning: 'libsmf.a': linking libraries using a non-POSIX
/usr/share/automake-1.16/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libsmf/Makefile.am:1:   while processing library 'libsmf.a'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/missing: Unknown `--is-lightweight' option
Try `/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... 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 the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for pow in -lm... yes
checking for main in -lreadline... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/time.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for arpa/inet.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for int8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for working volatile... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for GNU libc compatible realloc... yes
checking return type of signal handlers... void
checking for working strtod... yes
checking for gettimeofday... yes
checking for memset... yes
checking for pow... yes
checking for strdup... yes
checking for strerror... yes
checking for strtol... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for GTHREAD... yes
checking for JACK... yes
checking for JACK_MIDI_NEEDS_NFRAMES... no
checking for LASH... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libsmf/Makefile
config.status: creating man/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
make  all-recursive
make[1]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0'
Making all in libsmf
make[2]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/libsmf'
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf.o -MD -MP -MF .deps/libsmf_a-smf.Tpo -c -o libsmf_a-smf.o `test -f 'smf.c' || echo './'`smf.c
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_decode.o -MD -MP -MF .deps/libsmf_a-smf_decode.Tpo -c -o libsmf_a-smf_decode.o `test -f 'smf_decode.c' || echo './'`smf_decode.c
mv -f .deps/libsmf_a-smf_decode.Tpo .deps/libsmf_a-smf_decode.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_load.o -MD -MP -MF .deps/libsmf_a-smf_load.Tpo -c -o libsmf_a-smf_load.o `test -f 'smf_load.c' || echo './'`smf_load.c
mv -f .deps/libsmf_a-smf.Tpo .deps/libsmf_a-smf.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_save.o -MD -MP -MF .deps/libsmf_a-smf_save.Tpo -c -o libsmf_a-smf_save.o `test -f 'smf_save.c' || echo './'`smf_save.c
mv -f .deps/libsmf_a-smf_load.Tpo .deps/libsmf_a-smf_load.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_tempo.o -MD -MP -MF .deps/libsmf_a-smf_tempo.Tpo -c -o libsmf_a-smf_tempo.o `test -f 'smf_tempo.c' || echo './'`smf_tempo.c
mv -f .deps/libsmf_a-smf_save.Tpo .deps/libsmf_a-smf_save.Po
mv -f .deps/libsmf_a-smf_tempo.Tpo .deps/libsmf_a-smf_tempo.Po
rm -f libsmf.a
ar cru libsmf.a libsmf_a-smf.o libsmf_a-smf_decode.o libsmf_a-smf_load.o libsmf_a-smf_save.o libsmf_a-smf_tempo.o 
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libsmf.a
make[2]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/libsmf'
Making all in src
make[2]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/src'
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread    -I../libsmf -DG_LOG_DOMAIN=\"jack-smf-player\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT jack_smf_player-jack-smf-player.o -MD -MP -MF .deps/jack_smf_player-jack-smf-player.Tpo -c -o jack_smf_player-jack-smf-player.o `test -f 'jack-smf-player.c' || echo './'`jack-smf-player.c
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread    -I../libsmf -DG_LOG_DOMAIN=\"jack-smf-recorder\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT jack_smf_recorder-jack-smf-recorder.o -MD -MP -MF .deps/jack_smf_recorder-jack-smf-recorder.Tpo -c -o jack_smf_recorder-jack-smf-recorder.o `test -f 'jack-smf-recorder.c' || echo './'`jack-smf-recorder.c
jack-smf-recorder.c: In function ‘warning_async’:
jack-smf-player.c: In function ‘warning_async’:
jack-smf-recorder.c:122:9: error: format not a string literal and no format arguments [-Werror=format-security]
  122 |         g_warning(str);
      |         ^~~~~~~~~
jack-smf-player.c:131:9: error: format not a string literal and no format arguments [-Werror=format-security]
  131 |         g_warning(str);
      |         ^~~~~~~~~
jack-smf-recorder.c: In function ‘main’:
jack-smf-recorder.c:430:9: warning: ‘g_thread_init’ is deprecated [-Wdeprecated-declarations]
  430 |         g_thread_init(NULL);
      |         ^~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:115,
                 from jack-smf-recorder.c:46:
/usr/include/glib-2.0/glib/deprecated/gthread.h:267:10: note: declared here
  267 | void     g_thread_init                   (gpointer vtable);
      |          ^~~~~~~~~~~~~
jack-smf-player.c: In function ‘main’:
jack-smf-player.c:661:9: warning: ‘g_thread_init’ is deprecated [-Wdeprecated-declarations]
  661 |         g_thread_init(NULL);
      |         ^~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:115,
                 from jack-smf-player.c:46:
/usr/include/glib-2.0/glib/deprecated/gthread.h:267:10: note: declared here
  267 | void     g_thread_init                   (gpointer vtable);
      |          ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [Makefile:433: jack_smf_recorder-jack-smf-recorder.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [Makefile:419: jack_smf_player-jack-smf-player.o] Error 1
make[2]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/src'
make[1]: *** [Makefile:379: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0'
make: *** [Makefile:320: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.