diff -Nru synthv1-0.9.17/ChangeLog synthv1-0.9.18/ChangeLog --- synthv1-0.9.17/ChangeLog 2020-09-08 07:28:40.783000469 +0000 +++ synthv1-0.9.18/ChangeLog 2020-10-27 08:29:13.488080276 +0000 @@ -4,6 +4,16 @@ ChangeLog +0.9.18 2020-10-27 A Fall'20 Release. + +- Upstream package naming for the JACK standalone and LV2 + plugin deliverables are suffixed to '-jack' and '-lv2', + respectively. + +- White keys on the virtual piano keyboard are now fully + highlighted. + + 0.9.17 2020-09-08 Late Summer'10 Release. - Added -n, --client-name to the JACK stand-alone client diff -Nru synthv1-0.9.17/CMakeLists.txt synthv1-0.9.18/CMakeLists.txt --- synthv1-0.9.17/CMakeLists.txt 2020-09-08 07:28:40.783000469 +0000 +++ synthv1-0.9.18/CMakeLists.txt 2020-10-27 08:29:13.488080276 +0000 @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.1) -set (VERSION "0.9.17") +set (VERSION "0.9.18") set (CONFIG_VERSION ${VERSION}) execute_process ( @@ -12,8 +12,8 @@ OUTPUT_STRIP_TRAILING_WHITESPACE) if (GIT_DESCRIBE_RESULT EQUAL 0) set (VERSION "${GIT_DESCRIBE_OUTPUT}") - string (REGEX REPLACE "^[^_]+" "" VERSION "${VERSION}") - string (REGEX REPLACE "^[_vV]+" "" VERSION "${VERSION}") + string (REGEX REPLACE "^[^0-9]+" "" VERSION "${VERSION}") + string (REGEX REPLACE "^[v1_]+" "" VERSION "${VERSION}") string (REGEX REPLACE "-g" "git." VERSION "${VERSION}") string (REGEX REPLACE "[_|-]+" "." VERSION "${VERSION}") execute_process ( diff -Nru synthv1-0.9.17/configure synthv1-0.9.18/configure --- synthv1-0.9.17/configure 2020-09-08 07:29:51.330997978 +0000 +++ synthv1-0.9.18/configure 2020-10-27 08:29:38.651078776 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for synthv1 0.9.17. +# Generated by GNU Autoconf 2.69 for synthv1 0.9.18. # # Report bugs to . # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='synthv1' PACKAGE_TARNAME='synthv1' -PACKAGE_VERSION='0.9.17' -PACKAGE_STRING='synthv1 0.9.17' +PACKAGE_VERSION='0.9.18' +PACKAGE_STRING='synthv1 0.9.18' PACKAGE_BUGREPORT='rncbc@rncbc.org' PACKAGE_URL='' @@ -1309,7 +1309,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures synthv1 0.9.17 to adapt to many kinds of systems. +\`configure' configures synthv1 0.9.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1370,7 +1370,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of synthv1 0.9.17:";; + short | recursive ) echo "Configuration of synthv1 0.9.18:";; esac cat <<\_ACEOF @@ -1499,7 +1499,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -synthv1 configure 0.9.17 +synthv1 configure 0.9.18 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1876,7 +1876,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by synthv1 $as_me 0.9.17, which was +It was created by synthv1 $as_me 0.9.18, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2238,7 +2238,7 @@ ac_cv_build_version=$(git describe --tags --dirty --abbrev=6 2>/dev/null) if test -n "$ac_cv_build_version"; then - ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[^_]*[_v]//i') + ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[^0-9]*[v1_]\+//') ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/-g/git./') ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/[_|-]\+/./g') ac_cv_build_version_extra=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) @@ -4352,25 +4352,10 @@ ac_qmake=$ac_cv_qmake fi - -# Check for proper Qt major version. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt major version" >&5 -$as_echo_n "checking for Qt major version... " >&6; } -if ${ac_cv_qt_version_major+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_cv_qt_version_major=$($ac_qmake -query QT_VERSION | cut -d'.' -f1) - ac_cv_qt_version_major=$(($ac_cv_qt_version_major + 0)) - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_qt_version_major" >&5 -$as_echo "$ac_cv_qt_version_major" >&6; } -ac_qt_version_major=$ac_cv_qt_version_major -if test $ac_qt_version_major -lt 5; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}qmake-qt5", so it can be a program name with args. -set dummy ${ac_tool_prefix}qmake-qt5; ac_word=$2 +if test "x$ac_qmake" = "xno"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}qmake-qt6", so it can be a program name with args. +set dummy ${ac_tool_prefix}qmake-qt6; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_cv_qmake+:} false; then : @@ -4412,8 +4397,8 @@ fi if test -z "$ac_cv_path_ac_cv_qmake"; then ac_pt_ac_cv_qmake=$ac_cv_qmake - # Extract the first word of "qmake-qt5", so it can be a program name with args. -set dummy qmake-qt5; ac_word=$2 + # Extract the first word of "qmake-qt6", so it can be a program name with args. +set dummy qmake-qt6; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_ac_cv_qmake+:} false; then : @@ -4466,11 +4451,29 @@ ac_cv_qmake="$ac_cv_path_ac_cv_qmake" fi - ac_qmake=$ac_cv_qmake + ac_qmake=$ac_cv_qmake fi +# Check for proper Qt major version. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt major version" >&5 +$as_echo_n "checking for Qt major version... " >&6; } +if ${ac_cv_qt_version_major+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_qt_version_major=$($ac_qmake -query QT_VERSION | cut -d'.' -f1) + ac_cv_qt_version_major=$(($ac_cv_qt_version_major + 0)) + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_qt_version_major" >&5 +$as_echo "$ac_cv_qt_version_major" >&6; } +ac_qt_version_major=$ac_cv_qt_version_major if test "x$ac_qmake" = "xno"; then - as_fn_error $? "qmake-qt5 $ac_errmsg (qt5-devel)" "$LINENO" 5 + if test $ac_qt_version_major -lt 6; then + as_fn_error $? "qmake-qt5 $ac_errmsg (qt5-devel)" "$LINENO" 5 + else + as_fn_error $? "qmake-qt6 $ac_errmsg (qt6-devel)" "$LINENO" 5 + fi fi # Check for proper Qt install path. @@ -4977,7 +4980,8 @@ fi if test "x$ac_lupdate" = "xno"; then - if test -n "$ac_tool_prefix"; then + if test $ac_qt_version_major -lt 6; then + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lupdate-qt5", so it can be a program name with args. set dummy ${ac_tool_prefix}lupdate-qt5; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5075,8 +5079,112 @@ ac_cv_lupdate="$ac_cv_path_ac_cv_lupdate" fi + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lupdate-qt6", so it can be a program name with args. +set dummy ${ac_tool_prefix}lupdate-qt6; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_cv_lupdate+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_cv_lupdate in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_cv_lupdate="$ac_cv_lupdate" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $ac_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_cv_lupdate="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_cv_lupdate=$ac_cv_path_ac_cv_lupdate +if test -n "$ac_cv_lupdate"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lupdate" >&5 +$as_echo "$ac_cv_lupdate" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_ac_cv_lupdate"; then + ac_pt_ac_cv_lupdate=$ac_cv_lupdate + # Extract the first word of "lupdate-qt6", so it can be a program name with args. +set dummy lupdate-qt6; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_ac_cv_lupdate+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_ac_cv_lupdate in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_ac_cv_lupdate="$ac_pt_ac_cv_lupdate" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $ac_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_ac_cv_lupdate="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_ac_cv_lupdate=$ac_cv_path_ac_pt_ac_cv_lupdate +if test -n "$ac_pt_ac_cv_lupdate"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ac_cv_lupdate" >&5 +$as_echo "$ac_pt_ac_cv_lupdate" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_ac_cv_lupdate" = x; then + ac_cv_lupdate="no" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + ac_cv_lupdate=$ac_pt_ac_cv_lupdate + fi +else + ac_cv_lupdate="$ac_cv_path_ac_cv_lupdate" +fi + + fi if test "x$ac_cv_lupdate" = "xno"; then - as_fn_error $? "lupdate $ac_errmsg (qt5-linguist)" "$LINENO" 5 + if test $ac_qt_version_major -lt 6; then + as_fn_error $? "lupdate $ac_errmsg (qt5-linguist)" "$LINENO" 5 + else + as_fn_error $? "lupdate $ac_errmsg (qt6-linguist)" "$LINENO" 5 + fi else ac_lupdate=$ac_cv_lupdate; fi @@ -5183,7 +5291,8 @@ fi if test "x$ac_lrelease" = "xno"; then - if test -n "$ac_tool_prefix"; then + if test $ac_qt_version_major -lt 6; then + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lrelease-qt5", so it can be a program name with args. set dummy ${ac_tool_prefix}lrelease-qt5; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5281,8 +5390,112 @@ ac_cv_lrelease="$ac_cv_path_ac_cv_lrelease" fi + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lrelease-qt6", so it can be a program name with args. +set dummy ${ac_tool_prefix}lrelease-qt6; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_cv_lrelease+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_cv_lrelease in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_cv_lrelease="$ac_cv_lrelease" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $ac_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_cv_lrelease="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_cv_lrelease=$ac_cv_path_ac_cv_lrelease +if test -n "$ac_cv_lrelease"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lrelease" >&5 +$as_echo "$ac_cv_lrelease" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_ac_cv_lrelease"; then + ac_pt_ac_cv_lrelease=$ac_cv_lrelease + # Extract the first word of "lrelease-qt6", so it can be a program name with args. +set dummy lrelease-qt6; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_ac_cv_lrelease+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_ac_cv_lrelease in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_ac_cv_lrelease="$ac_pt_ac_cv_lrelease" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $ac_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_ac_cv_lrelease="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_ac_cv_lrelease=$ac_cv_path_ac_pt_ac_cv_lrelease +if test -n "$ac_pt_ac_cv_lrelease"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ac_cv_lrelease" >&5 +$as_echo "$ac_pt_ac_cv_lrelease" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_ac_cv_lrelease" = x; then + ac_cv_lrelease="no" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + ac_cv_lrelease=$ac_pt_ac_cv_lrelease + fi +else + ac_cv_lrelease="$ac_cv_path_ac_cv_lrelease" +fi + + fi if test "x$ac_cv_lrelease" = "xno"; then - as_fn_error $? "lrelease $ac_errmsg (qt5-linguist)" "$LINENO" 5 + if test $ac_qt_version_major -lt 6; then + as_fn_error $? "lrelease $ac_errmsg (qt5-linguist)" "$LINENO" 5 + else + as_fn_error $? "lrelease $ac_errmsg (qt6-linguist)" "$LINENO" 5 + fi else ac_lrelease=$ac_cv_lrelease; fi @@ -7116,7 +7329,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by synthv1 $as_me 0.9.17, which was +This file was extended by synthv1 $as_me 0.9.18, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7178,7 +7391,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -synthv1 config.status 0.9.17 +synthv1 config.status 0.9.18 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru synthv1-0.9.17/configure.ac synthv1-0.9.18/configure.ac --- synthv1-0.9.17/configure.ac 2020-09-08 07:28:40.784000469 +0000 +++ synthv1-0.9.18/configure.ac 2020-10-27 08:29:13.488080276 +0000 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(synthv1, 0.9.17, rncbc@rncbc.org) +AC_INIT(synthv1, 0.9.18, rncbc@rncbc.org) AC_CONFIG_SRCDIR(src/synthv1.cpp) AC_CONFIG_HEADERS(src/config.h) @@ -9,7 +9,7 @@ AC_CACHE_VAL([ac_cv_build_version], [ ac_cv_build_version=$(git describe --tags --dirty --abbrev=6 2>/dev/null) if test -n "$ac_cv_build_version"; then - ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[[^_]]*[[_v]]//i') + ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[[^0-9]]*[[v1_]]\+//') ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/-g/git./') ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/[[_|-]]\+/./g') ac_cv_build_version_extra=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) @@ -286,6 +286,10 @@ AC_PATH_TOOL(ac_cv_qmake, qmake-qt5, [no], $ac_path) ac_qmake=$ac_cv_qmake fi +if test "x$ac_qmake" = "xno"; then + AC_PATH_TOOL(ac_cv_qmake, qmake-qt6, [no], $ac_path) + ac_qmake=$ac_cv_qmake +fi # Check for proper Qt major version. AC_CACHE_CHECK([for Qt major version], [ac_cv_qt_version_major], [ @@ -293,13 +297,12 @@ ac_cv_qt_version_major=$(($ac_cv_qt_version_major + 0)) ]) ac_qt_version_major=$ac_cv_qt_version_major -if test $ac_qt_version_major -lt 5; then - AC_PATH_TOOL(ac_cv_qmake, qmake-qt5, [no], $ac_path) - ac_qmake=$ac_cv_qmake -fi - if test "x$ac_qmake" = "xno"; then - AC_MSG_ERROR([qmake-qt5 $ac_errmsg (qt5-devel)]) + if test $ac_qt_version_major -lt 6; then + AC_MSG_ERROR([qmake-qt5 $ac_errmsg (qt5-devel)]) + else + AC_MSG_ERROR([qmake-qt6 $ac_errmsg (qt6-devel)]) + fi fi # Check for proper Qt install path. @@ -370,9 +373,17 @@ # Check for Qt lupdate utility. AC_PATH_TOOL(ac_lupdate, lupdate, [no], $ac_path) if test "x$ac_lupdate" = "xno"; then - AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt5, [no], $ac_path) + if test $ac_qt_version_major -lt 6; then + AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt5, [no], $ac_path) + else + AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt6, [no], $ac_path) + fi if test "x$ac_cv_lupdate" = "xno"; then - AC_MSG_ERROR([lupdate $ac_errmsg (qt5-linguist)]) + if test $ac_qt_version_major -lt 6; then + AC_MSG_ERROR([lupdate $ac_errmsg (qt5-linguist)]) + else + AC_MSG_ERROR([lupdate $ac_errmsg (qt6-linguist)]) + fi else ac_lupdate=$ac_cv_lupdate; fi @@ -382,9 +393,17 @@ # Check for Qt lrelease utility. AC_PATH_TOOL(ac_lrelease, lrelease, [no], $ac_path) if test "x$ac_lrelease" = "xno"; then - AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt5, [no], $ac_path) + if test $ac_qt_version_major -lt 6; then + AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt5, [no], $ac_path) + else + AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt6, [no], $ac_path) + fi if test "x$ac_cv_lrelease" = "xno"; then - AC_MSG_ERROR([lrelease $ac_errmsg (qt5-linguist)]) + if test $ac_qt_version_major -lt 6; then + AC_MSG_ERROR([lrelease $ac_errmsg (qt5-linguist)]) + else + AC_MSG_ERROR([lrelease $ac_errmsg (qt6-linguist)]) + fi else ac_lrelease=$ac_cv_lrelease; fi diff -Nru synthv1-0.9.17/debian/changelog synthv1-0.9.18/debian/changelog --- synthv1-0.9.17/debian/changelog 2020-09-09 19:58:28.000000000 +0000 +++ synthv1-0.9.18/debian/changelog 2020-10-28 19:14:31.000000000 +0000 @@ -1,3 +1,12 @@ +synthv1 (0.9.18-1) unstable; urgency=medium + + * New upstream version 0.9.18 + * Add myself to the d/ section in d/copyright + * Update d/not-installed + * d/tests/control: Remove allow-stderr and add superficial to Restrictions + + -- Dennis Braun Wed, 28 Oct 2020 20:14:31 +0100 + synthv1 (0.9.17-1) unstable; urgency=medium * New upstream version 0.9.17 diff -Nru synthv1-0.9.17/debian/copyright synthv1-0.9.18/debian/copyright --- synthv1-0.9.17/debian/copyright 2020-06-23 21:44:24.000000000 +0000 +++ synthv1-0.9.18/debian/copyright 2020-09-09 21:20:35.000000000 +0000 @@ -20,6 +20,7 @@ Copyright: 2012 Alessio Treglia 2013-2017 Jaromír Mikeš + 2020 Dennis Braun License: GPL-2+ License: FSFAP diff -Nru synthv1-0.9.17/debian/not-installed synthv1-0.9.18/debian/not-installed --- synthv1-0.9.17/debian/not-installed 2020-06-23 21:44:24.000000000 +0000 +++ synthv1-0.9.18/debian/not-installed 2020-10-28 19:07:04.000000000 +0000 @@ -1,5 +1,5 @@ # false positives +usr/share/man/fr/man1/synthv1.1.gz usr/share/man/man1/synthv1_jack.1.gz usr/share/man/man1/synthv1_jack.fr.1.gz usr/share/man/man1/synthv1.1.gz -usr/share/man/man1/synthv1.fr.1.gz diff -Nru synthv1-0.9.17/debian/tests/control synthv1-0.9.18/debian/tests/control --- synthv1-0.9.17/debian/tests/control 2020-09-09 19:34:31.000000000 +0000 +++ synthv1-0.9.18/debian/tests/control 2020-10-28 19:02:49.000000000 +0000 @@ -1,3 +1,3 @@ Tests: simpletest Depends: @, psmisc -Restrictions: allow-stderr +Restrictions: superficial diff -Nru synthv1-0.9.17/Makefile.in synthv1-0.9.18/Makefile.in --- synthv1-0.9.17/Makefile.in 2020-09-08 07:28:40.783000469 +0000 +++ synthv1-0.9.18/Makefile.in 2020-10-27 08:29:13.488080276 +0000 @@ -154,8 +154,11 @@ install_jack: jack @$(MAKE) INSTALL_ROOT=$(DESTDIR) -f $(name_jack).mak install @install -d -v -m 0755 $(DESTDIR)$(mandir)/man1 - @install -v -m 0644 $(name)*.1 $(DESTDIR)$(mandir)/man1 - @gzip -nvf $(DESTDIR)$(mandir)/man1/$(name)*.1 + @install -v -m 0644 $(name).1 $(DESTDIR)$(mandir)/man1/$(name).1 + @gzip -nvf $(DESTDIR)$(mandir)/man1/$(name).1 + @install -d -v -m 0755 $(DESTDIR)$(mandir)/fr/man1 + @install -v -m 0644 $(name).fr.1 $(DESTDIR)$(mandir)/fr/man1/$(name).1 + @gzip -nvf $(DESTDIR)$(mandir)/fr/man1/$(name).1 uninstall_core: core @@ -169,7 +172,8 @@ uninstall_jack: jack @$(MAKE) INSTALL_ROOT=$(DESTDIR) -f $(name_jack).mak uninstall - @rm -vf $(DESTDIR)$(mandir)/man1/$(name)*.1.gz + @rm -vf $(DESTDIR)$(mandir)/man1/$(name).1.gz + @rm -vf $(DESTDIR)$(mandir)/fr/man1/$(name).1.gz clean_core: $(name).mak diff -Nru synthv1-0.9.17/src/appdata/synthv1.appdata.xml synthv1-0.9.18/src/appdata/synthv1.appdata.xml --- synthv1-0.9.17/src/appdata/synthv1.appdata.xml 2020-09-08 07:28:40.784000469 +0000 +++ synthv1-0.9.18/src/appdata/synthv1.appdata.xml 2020-10-27 08:29:13.489080276 +0000 @@ -18,7 +18,7 @@ synthv1.desktop -​ synthv1_jack + synthv1_jack diff -Nru synthv1-0.9.17/src/synthv1.cpp synthv1-0.9.18/src/synthv1.cpp --- synthv1-0.9.17/src/synthv1.cpp 2020-09-08 07:28:40.786000469 +0000 +++ synthv1-0.9.18/src/synthv1.cpp 2020-10-27 08:29:13.491080276 +0000 @@ -241,7 +241,7 @@ { // envelope stages - enum Stage { Idle = 0, Attack, Decay, Sustain, Release }; + enum Stage { Idle = 0, Attack, Decay, Sustain, Release, End }; // per voice @@ -310,7 +310,7 @@ } else if (p->stage == Release) { p->running = false; - p->stage = Idle; + p->stage = End; p->frames = 0; p->phase = 0.0f; p->delta = 0.0f; @@ -2629,8 +2629,8 @@ if (pv->dca2_env.running && pv->dca2_env.frames == 0) m_dca2.env.next(&pv->dca2_env); - if (pv->dca1_env.stage == synthv1_env::Idle && - pv->dca2_env.stage == synthv1_env::Idle) { + if (pv->dca1_env.stage == synthv1_env::End && + pv->dca2_env.stage == synthv1_env::End) { if (pv->note1 < 0 && pv->note2 < 0) free_voice(pv); nblock = 0; diff -Nru synthv1-0.9.17/src/synthv1_jack.cpp synthv1-0.9.18/src/synthv1_jack.cpp --- synthv1-0.9.17/src/synthv1_jack.cpp 2020-09-08 07:28:40.787000469 +0000 +++ synthv1-0.9.18/src/synthv1_jack.cpp 2020-10-27 08:29:13.492080276 +0000 @@ -289,6 +289,11 @@ } +#ifdef CONFIG_JACK_SESSION +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + void synthv1_jack::open ( const char *client_name ) { // init param ports @@ -358,10 +363,10 @@ // setup any local, initial buffers... synthv1::setBufferSize(::jack_get_buffer_size(m_client)); - jack_set_buffer_size_callback(m_client, + ::jack_set_buffer_size_callback(m_client, synthv1_jack_buffer_size, this); - jack_on_shutdown(m_client, + ::jack_on_shutdown(m_client, synthv1_jack_on_shutdown, this); // set process callbacks... @@ -370,13 +375,15 @@ #ifdef CONFIG_JACK_SESSION // JACK session event callback... - if (::jack_set_session_callback) { - ::jack_set_session_callback(m_client, - synthv1_jack_session_event, this); - } + ::jack_set_session_callback(m_client, + synthv1_jack_session_event, this); #endif } +#ifdef CONFIG_JACK_SESSION +#pragma GCC diagnostic pop +#endif + void synthv1_jack::activate (void) { @@ -567,6 +574,9 @@ #ifdef CONFIG_JACK_SESSION +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + // JACK session event handler. void synthv1_jack::sessionEvent ( void *pvSessionArg ) { @@ -599,13 +609,19 @@ const QByteArray aCmdLine = args.join(" ").toUtf8(); pJackSessionEvent->command_line = ::strdup(aCmdLine.constData()); - jack_session_reply(m_client, pJackSessionEvent); - jack_session_event_free(pJackSessionEvent); + ::jack_session_reply(m_client, pJackSessionEvent); + ::jack_session_event_free(pJackSessionEvent); if (bQuit) + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QCoreApplication::exit(0); + #else QCoreApplication::quit(); + #endif } +#pragma GCC diagnostic pop + #endif // CONFIG_JACK_SESSION @@ -711,8 +727,10 @@ if (m_bGui) { #if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endif + #endif QApplication *pApp = new QApplication(argc, argv); #if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) pApp->setApplicationDisplayName(SYNTHV1_TITLE); diff -Nru synthv1-0.9.17/src/synthv1widget_jack.cpp synthv1-0.9.18/src/synthv1widget_jack.cpp --- synthv1-0.9.17/src/synthv1widget_jack.cpp 2020-09-08 07:28:40.789000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_jack.cpp 2020-10-27 08:29:13.494080276 +0000 @@ -1,7 +1,7 @@ // synthv1widget_jack.cpp // /**************************************************************************** - Copyright (C) 2012-2019, rncbc aka Rui Nuno Capela. All rights reserved. + Copyright (C) 2012-2020, rncbc aka Rui Nuno Capela. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -157,7 +157,11 @@ // Let's be sure about that... if (queryClose()) { pCloseEvent->accept(); + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QApplication::exit(0); + #else QApplication::quit(); + #endif } else { pCloseEvent->ignore(); } diff -Nru synthv1-0.9.17/src/synthv1widget_jack.h synthv1-0.9.18/src/synthv1widget_jack.h --- synthv1-0.9.17/src/synthv1widget_jack.h 2020-09-08 07:28:40.789000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_jack.h 2020-10-27 08:29:13.495080276 +0000 @@ -1,7 +1,7 @@ // synthv1widget_jack.h // /**************************************************************************** - Copyright (C) 2012-2019, rncbc aka Rui Nuno Capela. All rights reserved. + Copyright (C) 2012-2020, rncbc aka Rui Nuno Capela. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff -Nru synthv1-0.9.17/src/synthv1widget_keybd.cpp synthv1-0.9.18/src/synthv1widget_keybd.cpp --- synthv1-0.9.17/src/synthv1widget_keybd.cpp 2020-09-08 07:28:40.789000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_keybd.cpp 2020-10-27 08:29:13.495080276 +0000 @@ -168,7 +168,7 @@ void synthv1widget_keybd::setNoteKey ( int iNoteKey ) { if (iNoteKey >= MIN_NOTE && MAX_NOTE >= iNoteKey) { - m_notes[iNoteKey].rect = noteRect(iNoteKey, true); + m_notes[iNoteKey].path = notePath(iNoteKey, true); m_iNoteKey = iNoteKey; } else { m_iNoteKey = -1; @@ -187,6 +187,14 @@ // Piano key rectangle finder. QRect synthv1widget_keybd::noteRect ( int iNote, bool bOn ) const { + return notePath(iNote, bOn).boundingRect().toRect(); +} + + +QPainterPath synthv1widget_keybd::notePath ( int iNote, bool bOn ) const +{ + QPainterPath path; + const int w = QWidget::width(); const int h = QWidget::height(); @@ -197,21 +205,25 @@ if (k >= 5) ++k; const int nk = (iNote / 12) * 7 + (k >> 1); - int x2 = int(wk * float(nk)); - int w2 = int(wn + 0.5f); - int h2 = h; + const int x2 = int(wk * float(nk)); + const int w2 = int(wn + 0.5f); + + QPainterPath path1; + path1.addRect(x2 + int(wk - float(w2 >> 1)), 0, w2 + 1, (h << 1) / 3); + if (k & 1) { - x2 += int(wk - float(w2 >> 1)); - h2 = (h << 1) / 3; - ++w2; + path = path1; } else if (bOn) { - x2 += (w2 >> 1); - --w2; + path.addRect(x2, 0, wk, h); + if ((k == 0 || k == 2 || k == 6 || k == 8 || k == 10) && iNote < MAX_NOTE) + path = path.subtracted(path1.translated(+ 0.5f, 0.0f)); + if ((k == 2 || k == 4 || k == 8 || k == 10 || k == 12) && iNote > MIN_NOTE) + path = path.subtracted(path1.translated(+ 0.5f - wk, 0.0f)); } else { - w2 <<= 1; + path.addRect(x2, 0, (w2 << 1), h); } - return QRect(x2, 0, w2, h2); + return path; } @@ -228,9 +240,9 @@ // Now for the sounding new one... note.on = true; - note.rect = noteRect(iNote, true); + note.path = notePath(iNote, true); - QWidget::update(note.rect); + QWidget::update(note.path.boundingRect().toRect()); } @@ -247,7 +259,7 @@ // Now for the sounding new one... note.on = false; - QWidget::update(note.rect); + QWidget::update(note.path.boundingRect().toRect()); } @@ -274,7 +286,7 @@ Note& note = m_notes[n]; if (note.on) { note.on = false; - QWidget::update(note.rect); + QWidget::update(note.path.boundingRect().toRect()); emit noteOnClicked(n, 0); } } @@ -287,7 +299,7 @@ void synthv1widget_keybd::dragNoteOn ( const QPoint& pos ) { // Compute new key cordinates... - const int iNote = (NUM_NOTES * pos.x() / QWidget::width()); + const int iNote = noteAt(pos); if (iNote < m_iNoteLow || iNote > m_iNoteHigh || iNote == m_iNoteOn) return; @@ -324,6 +336,31 @@ } +// Piano keyboard note descriminator. +int synthv1widget_keybd::noteAt ( const QPoint& pos ) const +{ + const int w = QWidget::width(); + const int h = QWidget::height(); + + const int yk = (h << 1) / 3; + + int iNote = (NUM_NOTES * pos.x()) / w; + if (pos.y() >= yk) { + int k = (iNote % 12); + if (k >= 5) ++k; + if (k & 1) { + const int xk = ((w * iNote) + (w >> 1)) / NUM_NOTES; + if (pos.x() >= xk) + ++iNote; + else + --iNote; + } + } + + return iNote; +} + + // (Re)create the complete view pixmap. void synthv1widget_keybd::updatePixmap (void) { @@ -391,7 +428,7 @@ m_iNoteHighX = noteRect(m_iNoteHigh).right(); if (m_iNoteKey >= MIN_NOTE && MAX_NOTE >= m_iNoteKey) - m_notes[m_iNoteKey].rect = noteRect(m_iNoteKey, true); + m_notes[m_iNoteKey].path = notePath(m_iNoteKey, true); } @@ -421,7 +458,7 @@ for (int n = 0; n < NUM_NOTES; ++n) { Note& note = m_notes[n]; if (note.on) - painter.fillRect(note.rect, rgbOver); + painter.fillPath(note.path, rgbOver); } // Keyboard range lines... @@ -442,7 +479,7 @@ if (m_iNoteKey >= MIN_NOTE && MAX_NOTE >= m_iNoteKey) { rgbOver = pal.highlight().color().lighter(); rgbOver.setAlpha(120); - painter.fillRect(m_notes[m_iNoteKey].rect, rgbOver); + painter.fillPath(m_notes[m_iNoteKey].path, rgbOver); } } @@ -522,30 +559,24 @@ break; case DragNoteLow: if (m_bNoteRange) { - const int w = QWidget::width(); - if (w > 0) { - const int iNoteLow = safeNoteLow((NUM_NOTES * pos.x()) / w); - m_iNoteLowX = noteRect(iNoteLow).left(); - QWidget::update(); - QToolTip::showText( - QCursor::pos(), - tr("Low: %1 (%2)") - .arg(noteName(iNoteLow)).arg(iNoteLow), this); - } + const int iNoteLow = safeNoteLow(noteAt(pos)); + m_iNoteLowX = noteRect(iNoteLow).left(); + QWidget::update(); + QToolTip::showText( + QCursor::pos(), + tr("Low: %1 (%2)") + .arg(noteName(iNoteLow)).arg(iNoteLow), this); } break; case DragNoteHigh: if (m_bNoteRange) { - const int w = QWidget::width(); - if (w > 0) { - const int iNoteHigh = safeNoteHigh((NUM_NOTES * pos.x()) / w); - m_iNoteHighX = noteRect(iNoteHigh).right(); - QWidget::update(); - QToolTip::showText( - QCursor::pos(), - tr("High: %1 (%2)") - .arg(noteName(iNoteHigh)).arg(iNoteHigh), this); - } + const int iNoteHigh = safeNoteHigh(noteAt(pos)); + m_iNoteHighX = noteRect(iNoteHigh).right(); + QWidget::update(); + QToolTip::showText( + QCursor::pos(), + tr("High: %1 (%2)") + .arg(noteName(iNoteHigh)).arg(iNoteHigh), this); } break; case DragNoteRange: @@ -612,20 +643,14 @@ switch (m_dragState) { case DragNoteLow: if (m_bNoteRange) { - const int w = QWidget::width(); - if (w > 0) { - setNoteLow((NUM_NOTES * pos.x()) / w); - emit noteRangeChanged(); - } + setNoteLow(noteAt(pos)); + emit noteRangeChanged(); } break; case DragNoteHigh: if (m_bNoteRange) { - const int w = QWidget::width(); - if (w > 0) { - setNoteHigh((NUM_NOTES * pos.x()) / w); - emit noteRangeChanged(); - } + setNoteHigh(noteAt(pos)); + emit noteRangeChanged(); } break; case DragNoteRange: @@ -705,9 +730,9 @@ // Present a tooltip for a note. void synthv1widget_keybd::noteToolTip ( const QPoint& pos ) const { - const int iNote = (NUM_NOTES * pos.x() / QWidget::width()); + const int iNote = noteAt(pos); - if (iNote < MIN_NOTE || MAX_NOTE > iNote) + if (iNote < MIN_NOTE || iNote > MAX_NOTE) return; QToolTip::showText(QWidget::mapToGlobal(pos), diff -Nru synthv1-0.9.17/src/synthv1widget_keybd.h synthv1-0.9.18/src/synthv1widget_keybd.h --- synthv1-0.9.17/src/synthv1widget_keybd.h 2020-09-08 07:28:40.789000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_keybd.h 2020-10-27 08:29:13.495080276 +0000 @@ -23,6 +23,7 @@ #define __synthv1widget_keybd_h #include +#include #include @@ -89,11 +90,15 @@ // Piano key rectangle finder. QRect noteRect(int iNote, bool bOn = false) const; + QPainterPath notePath(int iNote, bool bOn = false) const; // Piano keyboard note-on/off handlers. void dragNoteOn(const QPoint& pos); void dragNoteOff(); + // Piano keyboard note descriminator. + int noteAt(const QPoint& pos) const; + // (Re)create the complete view pixmap. void updatePixmap(); @@ -140,8 +145,8 @@ // Current notes being keyed on. struct Note { - bool on; - QRect rect; + bool on; + QPainterPath path; } m_notes[NUM_NOTES]; diff -Nru synthv1-0.9.17/src/synthv1widget_palette.cpp synthv1-0.9.18/src/synthv1widget_palette.cpp --- synthv1-0.9.17/src/synthv1widget_palette.cpp 2020-09-08 07:28:40.789000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_palette.cpp 2020-10-27 08:29:13.495080276 +0000 @@ -166,8 +166,11 @@ void synthv1widget_palette::setPalette ( const QPalette& pal ) { m_palette = pal; - +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + const uint mask = pal.resolveMask(); +#else const uint mask = pal.resolve(); +#endif for (int i = 0; g_colorRoles[i].key; ++i) { if ((mask & (1 << i)) == 0) { const QPalette::ColorRole cr = QPalette::ColorRole(i); @@ -179,7 +182,11 @@ m_parentPalette.brush(QPalette::Disabled, cr)); } } +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + m_palette.setResolveMask(mask); +#else m_palette.resolve(mask); +#endif updateGenerateButton(); @@ -334,7 +341,11 @@ if (!name.isEmpty()) { QPalette pal; int result = 0; + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + uint mask = pal.resolveMask(); + #else uint mask = pal.resolve(); + #endif settings.beginGroup(name + '/'); QStringListIterator iter(settings.childKeys()); while (iter.hasNext()) { @@ -351,7 +362,11 @@ ++result; } } + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + pal.setResolveMask(mask); + #else pal.resolve(mask); + #endif settings.endGroup(); if (result > 0) { saveNamedPalette(name, pal); @@ -938,7 +953,11 @@ if (role == Qt::DisplayRole) return m_roleNames.value(QPalette::ColorRole(index.row())); if (role == Qt::EditRole) { + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + const uint mask = m_palette.resolveMask(); + #else const uint mask = m_palette.resolve(); + #endif return bool(mask & (1 << index.row())); } } @@ -1001,7 +1020,11 @@ } if (index.column() == 0 && role == Qt::EditRole) { + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + uint mask = m_palette.resolveMask(); + #else uint mask = m_palette.resolve(); + #endif const bool masked = value.value(); const int i = index.row(); if (masked) { @@ -1016,7 +1039,11 @@ m_parentPalette.brush(QPalette::Disabled, cr)); mask &= ~(1 << i); } + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + m_palette.setResolveMask(mask); + #else m_palette.resolve(mask); + #endif emit paletteChanged(m_palette); const QModelIndex& index_end = PaletteModel::index(i, 3); emit dataChanged(index, index_end); diff -Nru synthv1-0.9.17/src/synthv1widget_param.cpp synthv1-0.9.18/src/synthv1widget_param.cpp --- synthv1-0.9.17/src/synthv1widget_param.cpp 2020-09-08 07:28:40.790000469 +0000 +++ synthv1-0.9.18/src/synthv1widget_param.cpp 2020-10-27 08:29:13.495080276 +0000 @@ -260,7 +260,7 @@ // Mouse behavior event handler. void synthv1widget_param::mousePressEvent ( QMouseEvent *pMouseEvent ) { - if (pMouseEvent->button() == Qt::MidButton) { + if (pMouseEvent->button() == Qt::MiddleButton) { if (m_iDefaultValue < 1) { m_fDefaultValue = 0.5f * (maximum() + minimum()); m_iDefaultValue++; @@ -389,7 +389,7 @@ void synthv1widget_dial::mouseReleaseEvent ( QMouseEvent *pMouseEvent ) { if (g_dialMode == DefaultMode - && pMouseEvent->button() != Qt::MidButton) { + && pMouseEvent->button() != Qt::MiddleButton) { QDial::mouseReleaseEvent(pMouseEvent); } else if (m_bMousePressed) { m_bMousePressed = false; diff -Nru synthv1-0.9.17/synthv1.spec.in synthv1-0.9.18/synthv1.spec.in --- synthv1-0.9.17/synthv1.spec.in 2020-09-08 07:28:40.790000469 +0000 +++ synthv1-0.9.18/synthv1.spec.in 2020-10-27 08:29:13.496080276 +0000 @@ -17,7 +17,7 @@ %define name @PACKAGE_TARNAME@ %define version @PACKAGE_VERSION@ -%define release 58 +%define release 59 %define _prefix @ac_prefix@ @@ -25,7 +25,7 @@ %define debug_package %{nil} %endif -#Summary: An old-school polyphonic subtractive synthesizer +Summary: An old-school polyphonic subtractive synthesizer Name: %{name} Version: %{version} Release: %{release} @@ -33,7 +33,7 @@ Group: Productivity/Multimedia/Sound/Midi Source0: %{name}-%{version}.tar.gz URL: http://synthv1.sourceforge.net -#Packager: rncbc.org +Packager: rncbc.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot @@ -55,12 +55,17 @@ BuildRequires: pkgconfig(egl) -#package -n %{name} +%description + An old-school all-digital 4-oscillator subtractive polyphonic synthesizer + with stereo fx. + + +%package -n %{name}-jack Summary: An old-school polyphonic subtractive synthesizer - JACK standalone Provides: %{name}_jack -Obsoletes: %{name}-common < %{version} +Obsoletes: %{name}-common <= %{version}, %{name} <= %{version} -%description -n %{name} +%description -n %{name}-jack An old-school all-digital 4-oscillator subtractive polyphonic synthesizer with stereo fx. . @@ -70,7 +75,7 @@ %package -n %{name}-lv2 Summary: An old-school polyphonic subtractive synthesizer - LV2 plugin Provides: %{name}_lv2, %{name}_lv2ui -Obsoletes: %{name}-common < %{version} +Obsoletes: %{name}-common <= %{version} %description -n %{name}-lv2 An old-school all-digital 4-oscillator subtractive polyphonic synthesizer @@ -95,7 +100,7 @@ [ -d "%{buildroot}" -a "%{buildroot}" != "/" ] && %__rm -rf "%{buildroot}" -%files -n %{name} +%files -n %{name}-jack %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog README TODO #dir %{_datadir}/applications @@ -111,6 +116,8 @@ %dir %{_datadir}/icons/hicolor/scalable/mimetypes #dir %{_datadir}/man #dir %{_datadir}/man/man1 +#dir %{_datadir}/man/fr +#dir %{_datadir}/man/fr/man1 %{_bindir}/%{name}_jack %{_datadir}/metainfo/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop @@ -119,7 +126,8 @@ %{_datadir}/icons/hicolor/32x32/mimetypes/application-x-%{name}*.png %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/icons/hicolor/scalable/mimetypes/application-x-%{name}*.svg -%{_datadir}/man/man1/%{name}*.1.gz +%{_datadir}/man/man1/%{name}.1.gz +%{_datadir}/man/fr/man1/%{name}.1.gz %files -n %{name}-lv2 %defattr(-,root,root) @@ -132,6 +140,8 @@ %changelog +* Tue Oct 27 2020 Rui Nuno Capela 0.9.18 +- Fall'20 Release. * Tue Sep 8 2020 Rui Nuno Capela 0.9.17 - Late Summer'20 Release. * Thu Aug 6 2020 Rui Nuno Capela 0.9.16