Diff of the two buildlogs: -- --- b1/build.log 2025-08-22 00:17:43.825277934 +0000 +++ b2/build.log 2025-08-22 00:18:25.773327193 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Sep 23 18:39:11 -12 2026 -I: pbuilder-time-stamp: 1790231951 +I: Current time: Fri Aug 22 14:17:45 +14 2025 +I: pbuilder-time-stamp: 1755821865 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -24,53 +24,85 @@ dpkg-source: info: applying u32.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/12267/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Aug 22 00:17 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='649dbbe786744927aba74a4d876b6141' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='12267' - PS1='# ' - PS2='> ' + INVOCATION_ID=2382e4202a014121834eb65cfbf53e0d + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2178659 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.0JBRVZPI/pbuilderrc_X4aY --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0JBRVZPI/b1 --logfile b1/build.log komposter_0+git20201216+ds1-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.0JBRVZPI/pbuilderrc_xd7G --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0JBRVZPI/b2 --logfile b2/build.log komposter_0+git20201216+ds1-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/12267/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -238,7 +270,7 @@ Get: 114 http://deb.debian.org/debian forky/main arm64 mesa-common-dev arm64 25.0.7-2 [2932 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] -Fetched 69.4 MB in 1s (68.8 MB/s) +Fetched 69.4 MB in 0s (205 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20003 files and directories currently installed.) @@ -719,7 +751,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/komposter-0+git20201216+ds1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../komposter_0+git20201216+ds1-1_source.changes +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/komposter-0+git20201216+ds1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../komposter_0+git20201216+ds1-1_source.changes dpkg-buildpackage: info: source package komposter dpkg-buildpackage: info: source version 0+git20201216+ds1-1 dpkg-buildpackage: info: source distribution unstable @@ -959,11 +995,6 @@ modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ -gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o patch.o patch.c -font.c:61:14: warning: no previous prototype for 'tpow2' [-Wmissing-prototypes] - 61 | unsigned int tpow2(unsigned int x) - | ^~~~~ -gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o pattern.o pattern.c In file included from audio.c:16: audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 56 | int audio_exportwav(); //char *filename); @@ -973,6 +1004,258 @@ modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o patch.o patch.c +In file included from synthesizer.h:29, + from buffermm.h:18: +dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 16 | int dotfile_load(); + | ^~~ +dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 17 | int dotfile_save(); + | ^~~ +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +In file included from synthesizer.h:31: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ +In file included from audio.c:21: +sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 33 | void sequencer_init(); + | ^~~~ +sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 80 | void sequencer_bpm_close_dialog(); + | ^~~~ +audio.c:115:7: warning: no previous prototype for 'audio_shape' [-Wmissing-prototypes] + 115 | float audio_shape(float input) + | ^~~~~~~~~~~ +audio.c: In function 'audio_shape': +audio.c:117:14: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 117 | return 0.5 * (fabs(input + AUDIO_SHAPER_THRESHOLD) - fabs(input - AUDIO_SHAPER_THRESHOLD)); + | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +audio.c: In function 'audio_isplaying': +audio.c:182:5: warning: old-style function definition [-Wold-style-definition] + 182 | int audio_isplaying() + | ^~~~~~~~~~~~~~~ +audio.c: In function 'audio_update': +audio.c:205:22: warning: unused parameter 'cs' [-Wunused-parameter] + 205 | int audio_update(int cs) + | ~~~~^~ +audio.c: In function 'audio_process': +audio.c:254:41: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 254 | if (audiomode==AUDIOMODE_MUTE) return bufferlen; + | ^~~~~~~~~ +audio.c:280:29: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'long int' may change the sign of the result [-Wsign-conversion] + 280 | render_buffer=calloc(2*render_bufferlen, sizeof(short)); + | ~^~~~~~~~~~~~~~~~~ +audio.c:300:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 300 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); + | ~~~~~~~^~ +audio.c:304:74: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 304 | memcpy(&buffer[copylen], &render_buffer[0], (bufferlen-copylen)*4); + | ~~~~~~~~~~~~~~~~~~~^~ +audio.c:309:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 309 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); + | ~~~~~~~^~ +audio.c:321:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 321 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); + | ~~~~~~~^~ +audio.c:325:58: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 325 | memset(&buffer[copylen], 0, (bufferlen-copylen)*4); + | ~~~~~~~~~~~~~~~~~~~^~ +audio.c:334:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 334 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); + | ~~~~~~~^~ +audio.c:346:12: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 346 | return bufferlen; + | ^~~~~~~~~ +audio.c:360:21: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 360 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index + | ^ +audio.c:360:13: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] + 360 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index + | ^~~~~~~ +audio.c:361:15: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 361 | pattpos=ticks>>6; + | ^~~~~ +audio.c:378:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 378 | if ( m<(pattlen[cpatt]*16) ) { // don't drop gate if next note is legato + | ^ +audio.c:394:17: warning: declaration of 'i' shadows a previous local [-Wshadow] + 394 | for(int i=0;i<4;i++) { + | ^ +audio.c:243:7: note: shadowed declaration is here + 243 | int i, m, mi=0, mt, ii, pkey; + | ^ +audio.c:402:46: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 402 | buf=kmm_alloc(modDataBufferLength[mt], voice, csynth, mi, mt); + | ~~~~~~~~~~~~~~~~~~~^~~~ +audio.c:408:47: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] + 408 | output[voice][mi]=mod_functable[mt](voice, &modulator[voice][mi], (void*)&localdata[voice][mi], (float*)&signals); + | ^~~~~ +audio.c:415:44: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 415 | if (fabs(p) > audio_peak) audio_peak=fabs(p); + | ^~~~ +audio.c:416:58: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 416 | if (fabs(p) > audio_latest_peak) audio_latest_peak=fabs(p); + | ^~~~ +audio.c:423:15: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 423 | oldtick=ticks; + | ^~~~~ +In file included from pattern.h:18, + from buffermm.h:17: +audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 56 | int audio_exportwav(); //char *filename); + | ^~~ +audio.c:431:10: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 431 | return bufferlen; + | ^~~~~~~~~ +audio.c: At top level: +audio.c:441:6: warning: no previous prototype for 'audio_render' [-Wmissing-prototypes] + 441 | long audio_render(void) + | ^~~~~~~~~~~~ +audio.c: In function 'audio_render': +audio.c:485:43: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 485 | if (sequencer_ispattern(voice, ticks>>10)) { // is there a pattern here? + | ~~~~~^~~~ +audio.c:486:54: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 486 | pattstart=sequencer_patternstart(voice, ticks>>10); + | ~~~~~^~~~ +audio.c:488:17: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 488 | pattpos=(ticks/64) - (pattstart*16); + | ^ +audio.c:489:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); + | ^~ +audio.c:489:55: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); + | ^~ +audio.c:489:57: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); + | ^ +audio.c:514:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 514 | if ( m<(pattlen[pattern]*16) ) { // don't drop gate if next note is legato + | ^ +audio.c:526:17: warning: declaration of 'i' shadows a previous local [-Wshadow] + 526 | for(int i=0;i<4;i++) { + | ^ +audio.c:446:7: note: shadowed declaration is here + 446 | int i, voice; + | ^ +audio.c:536:46: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 536 | buf=kmm_alloc(modDataBufferLength[mt], voice, synth, mi, mt); + | ~~~~~~~~~~~~~~~~~~~^~~~ +audio.c:544:47: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] + 544 | output[voice][mi]=mod_functable[mt](voice, &modulator[voice][mi], (void*)&localdata[voice][mi], (float*)&signals); + | ^~~~~ +audio.c:555:42: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 555 | if (fabs(p) > audio_peak) audio_peak=fabs(p); + | ^~~~ +audio.c:556:56: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 556 | if (fabs(p) > audio_latest_peak) audio_latest_peak=fabs(p); + | ^~~~ +audio.c:562:13: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 562 | oldtick=ticks; + | ^~~~~ +audio.c: In function 'audio_resetsynth': +audio.c:652:65: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 652 | if (lbuf) memset(lbuf, 0, modDataBufferLength[MOD_DELAY]*sizeof(float)); + | ^ +audio.c:662:46: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] + 662 | for(i=0;i<8;i++) mod_ddata(voice, mi)[0]=0; + | ^ +audio.c:637:5: warning: switch missing default case [-Wswitch-default] + 637 | switch(mt) { + | ^~~~~~ +audio.c: At top level: +audio.c:698:5: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 698 | int audio_exportwav() //char *filename) + | ^~~~~~~~~~~~~~~ +audio.c: In function 'audio_exportwav': +audio.c:698:5: warning: old-style function definition [-Wold-style-definition] +audio.c:722:19: warning: conversion from 'long int' to 'unsigned int' may change value [-Wconversion] + 722 | w.wav_chunksize=36+render_bufferlen*2*2; + | ^~ +audio.c:723:23: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + 723 | w.wav_sub2chunksize=render_bufferlen*2*2; + | ^~~~~~~~~~~~~~~~ +audio.c:727:56: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'long int' may change the sign of the result [-Wsign-conversion] + 727 | fwrite(render_buffer, sizeof(short), render_bufferlen*2, f); + | ~~~~~~~~~~~~~~~~^~ +In file included from synthesizer.h:29, + from buffermm.h:18: +dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 16 | int dotfile_load(); + | ^~~ +dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 17 | int dotfile_save(); + | ^~~ +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +In file included from synthesizer.h:31: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ +buffermm.c: In function 'kmm_alloc': +buffermm.c:97:69: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=] + 97 | printf("kmm: module data buffer allocated from %08lx - len %d (%d bytes), v %d s %d mi %d mt %d\n", + | ~^ + | | + | int + | %ld + 98 | (unsigned long)buffer, len, len*sizeof(u32), voice,synth,module,modtype); + | ~~~ + | | + | long unsigned int +buffermm.c:97:73: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] + 97 | printf("kmm: module data buffer allocated from %08lx - len %d (%d bytes), v %d s %d mi %d mt %d\n", + | ~^ + | | + | int + | %ld + 98 | (unsigned long)buffer, len, len*sizeof(u32), voice,synth,module,modtype); + | ~~~~~~~~~~~~~~~ + | | + | long unsigned int +audio.c:708:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] + 708 | strncpy((char*)&w.wav_chunkid, "RIFF", 4); + | ^ +audio.c:710:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] + 710 | strncpy((char*)&w.wav_format, "WAVE", 4); + | ^ +audio.c:711:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] + 711 | strncpy((char*)&w.wav_sub1chunkid, "fmt ", 4); + | ^ +audio.c:719:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] + 719 | strncpy((char*)&w.wav_sub2chunkid, "data", 4); + | ^ +console.c: In function 'console_print': +console.c:44:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 44 | render_text(backlog[logptr], x+1, y+1, 2, ((unsigned char)(a)<<24)|0x00000000, 0); + | ~^~ +console.c:44:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 44 | render_text(backlog[logptr], x+1, y+1, 2, ((unsigned char)(a)<<24)|0x00000000, 0); + | ~^~ +console.c:45:32: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 45 | render_text(backlog[logptr], x, y, 2, ((unsigned char)(a)<<24)|0x00b05500, 0); + | ^ +console.c:45:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 45 | render_text(backlog[logptr], x, y, 2, ((unsigned char)(a)<<24)|0x00b05500, 0); + | ^ In file included from widgets.h:23, from dialog.h:16, from about.h:17, @@ -980,111 +1263,16 @@ modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ -font.c: In function 'font_init': -font.c:92:50: warning: conversion to 'FT_UInt' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 92 | err=FT_Set_Pixel_Sizes(font[i], 0, fontsize[i]); - | ~~~~~~~~^~~ -font.c:108:35: warning: conversion to 'FT_ULong' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 108 | err=FT_Load_Char(font[f], rc, FT_LOAD_RENDER); - | ^~ -font.c:115:28: warning: conversion from 'FT_Pos' {aka 'long int'} to 'int' may change value [-Wconversion] - 115 | font_advance[f][c]=slot->advance.x >> 6; - | ^~~~ -font.c:118:26: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 118 | font_width[f][c]=slot->bitmap.width; - | ^~~~ -font.c:119:27: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 119 | font_height[f][c]=slot->bitmap.rows; - | ^~~~ -font.c:120:14: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 120 | texw=tpow2(slot->bitmap.width); - | ^~~~~ -font.c:121:14: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 121 | texh=tpow2(slot->bitmap.rows); - | ^~~~~ -font.c:126:38: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 126 | font_bitmap[f][c]=calloc(texw*texh, sizeof(GLuint)); - | ~~~~^~~~~ -font.c:127:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 127 | for (j=0;jbitmap.rows;j++) - | ^ -font.c:129:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 129 | for(i=0;ibitmap.width;i++) { - | ^ -font.c:131:51: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; - | ^ -font.c:131:59: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; - | ^ -font.c:131:65: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; - | ^ -font.c: In function 'render_text': -font.c:165:7: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 165 | sw+=font_advance[fontnr][(int)text[n]]; - | ^~ -font.c:171:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] - 171 | if (align==1) xp-=(sw/2); - | ^~ -font.c:172:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] - 172 | if (align==2) xp-=sw; - | ^~ -font.c:176:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 176 | if ((int)text[n]=='\n') { yp+=fontsize[fontnr]+2; xp=x; n++; continue; } - | ^~ -font.c:178:68: warning: conversion from 'unsigned int' to 'GLubyte' {aka 'unsigned char'} may change value [-Wconversion] - 178 | glColor4ub((color>>16)&0xff, (color>>8)&0xff, color&0xff, color>>24); - | ~~~~~^~~~ -font.c:182:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 182 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); - | ^ -font.c:182:59: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 182 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); - | ^ -font.c:184:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); - | ^ -font.c:184:55: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); - | ^ -font.c:184:92: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); - | ^ -font.c:186:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 186 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], - | ^ -font.c:186:55: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 186 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], - | ^ about.c: In function 'about_draw': about.c:17:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 17 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 120, 260, "", 0); | ^~ -font.c:187:18: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 187 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); - | ^ widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); | ~~~~~~^~~~~ -font.c:187:53: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 187 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); - | ^ -font.c:189:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 189 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], - | ^ about.c:19:15: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time] 19 | render_text(K_VERSION, (DS_WIDTH/2)+120, (DS_HEIGHT/2)-32, 2, 0xffb05500, 2); | ^~~~~~~~~ -font.c:190:18: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 190 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); - | ^ -font.c:190:53: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 190 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); - | ^ -font.c:194:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 194 | xp+=font_advance[fontnr][(int)text[n]]; - | ^~ about.c: In function 'about_hover': about.c:31:22: warning: unused parameter 'x' [-Wunused-parameter] 31 | void about_hover(int x, int y) @@ -1109,66 +1297,6 @@ about.c:42:51: warning: unused parameter 'y' [-Wunused-parameter] 42 | void about_keyboard(unsigned char key, int x, int y) | ~~~~^ -In file included from pattern.h:18, - from buffermm.h:17: -audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 56 | int audio_exportwav(); //char *filename); - | ^~~ -In file included from modules.c:18: -audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 56 | int audio_exportwav(); //char *filename); - | ^~~ -In file included from buffermm.h:16, - from modules.c:19: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ -console.c: In function 'console_print': -console.c:44:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 44 | render_text(backlog[logptr], x+1, y+1, 2, ((unsigned char)(a)<<24)|0x00000000, 0); - | ~^~ -console.c:44:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 44 | render_text(backlog[logptr], x+1, y+1, 2, ((unsigned char)(a)<<24)|0x00000000, 0); - | ~^~ -console.c:45:32: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 45 | render_text(backlog[logptr], x, y, 2, ((unsigned char)(a)<<24)|0x00b05500, 0); - | ^ -console.c:45:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 45 | render_text(backlog[logptr], x, y, 2, ((unsigned char)(a)<<24)|0x00b05500, 0); - | ^ -In file included from widgets.h:23, - from dialog.h:16, - from dialog.c:13: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ -dialog.c: In function 'dialog_open': -dialog.c:43:18: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 43 | dialog_drawfunc=draw; - | ^ -dialog.c:44:19: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 44 | dialog_hoverfunc=hover; - | ^ -dialog.c:45:19: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 45 | dialog_clickfunc=click; - | ^ -dialog.c: In function 'dialog_bindkeyboard': -dialog.c:51:16: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 51 | dialog_kbfunc=kbfunc; - | ^ -dialog.c: In function 'dialog_binddrag': -dialog.c:56:18: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 56 | dialog_dragfunc=dragfunc; - | ^ -dialog.c: In function 'dialog_bindspecial': -dialog.c:61:21: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] - 61 | dialog_specialfunc=specialfunc; - | ^ -In file included from patch.h:20, - from patch.c:13: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ In file included from widgets.h:23, from dialog.h:16, from filedialog.c:13: @@ -1243,12 +1371,6 @@ filedialog.c:145:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 145 | fd->hover[FDUI_VSLIDER]=hovertest_vslider(x, y, | ^ -In file included from synthesizer.h:29, - from buffermm.h:18: -dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 16 | int dotfile_load(); - | ^~~ -font.c: In function 'font_init': filedialog.c:145:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] 145 | fd->hover[FDUI_VSLIDER]=hovertest_vslider(x, y, | ^ @@ -1281,26 +1403,6 @@ filedialog.c:259:27: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 259 | textbox_edit(fd->fname, key, 45); | ^~~ -In file included from widgets.h:23, - from dialog.h:16, - from about.h:17, - from main.c:28: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ -In file included from synthesizer.h:29, - from buffermm.h:18: -dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 16 | int dotfile_load(); - | ^~~ -gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o sequencer.o sequencer.c -In file included from main.c:29: -audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 56 | int audio_exportwav(); //char *filename); - | ^~~ -dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 17 | int dotfile_save(); - | ^~~ filedialog.c: In function 'filedialog_drag': filedialog.c:271:9: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'float' may change value [-Wconversion] 271 | cip=fd->g.gl_pathc; // files total @@ -1320,86 +1422,163 @@ filedialog.c:263:42: warning: unused parameter 'x' [-Wunused-parameter] 263 | void filedialog_drag(filedialog *fd, int x, int y) | ~~~~^ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -In file included from synthesizer.h:31: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ -font.c:83:5: warning: '__builtin_strncpy' output may be truncated copying 511 bytes from a string of length 511 [-Wstringop-truncation] - 83 | strncpy(fullpath, respath, 511); - | ^ -font.c:84:5: warning: '__builtin___strncat_chk' output may be truncated copying 511 bytes from a string of length 2039 [-Wstringop-truncation] - 84 | strncat(fullpath, fontfile[i], 511); - | ^ -In file included from audio.c:21: -sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 33 | void sequencer_init(); +In file included from widgets.h:23, + from dialog.h:16, + from dialog.c:13: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); | ^~~~ -sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 80 | void sequencer_bpm_close_dialog(); +dialog.c: In function 'dialog_open': +dialog.c:43:18: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 43 | dialog_drawfunc=draw; + | ^ +dialog.c:44:19: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 44 | dialog_hoverfunc=hover; + | ^ +dialog.c:45:19: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 45 | dialog_clickfunc=click; + | ^ +dialog.c: In function 'dialog_bindkeyboard': +dialog.c:51:16: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 51 | dialog_kbfunc=kbfunc; + | ^ +dialog.c: In function 'dialog_binddrag': +dialog.c:56:18: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 56 | dialog_dragfunc=dragfunc; + | ^ +dialog.c: In function 'dialog_bindspecial': +dialog.c:61:21: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 61 | dialog_specialfunc=specialfunc; + | ^ +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o pattern.o pattern.c +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o sequencer.o sequencer.c +font.c:61:14: warning: no previous prototype for 'tpow2' [-Wmissing-prototypes] + 61 | unsigned int tpow2(unsigned int x) + | ^~~~~ +filedialog.c: In function 'filedialog_open': +filedialog.c:24:3: warning: '__builtin___strncat_chk' specified bound 255 equals destination size [-Wstringop-truncation] + 24 | strncat((char*)&fd->fmask, ext, 255); + | ^ +In file included from /usr/include/string.h:548, + from /usr/include/freetype2/freetype/config/ftstdlib.h:88, + from /usr/include/freetype2/freetype/config/ftconfig.h:41, + from /usr/include/freetype2/freetype/freetype.h:24, + from font.h:18, + from widgets.h:22: +In function 'strncat', + inlined from 'filedialog_open' at filedialog.c:24:3: +/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 255 equals destination size [-Wstringop-overflow=] + 149 | return __builtin___strncat_chk (__dest, __src, __len, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 150 | __glibc_objsize (__dest)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +font.c: In function 'font_init': +font.c:92:50: warning: conversion to 'FT_UInt' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 92 | err=FT_Set_Pixel_Sizes(font[i], 0, fontsize[i]); + | ~~~~~~~~^~~ +font.c:108:35: warning: conversion to 'FT_ULong' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 108 | err=FT_Load_Char(font[f], rc, FT_LOAD_RENDER); + | ^~ +font.c:115:28: warning: conversion from 'FT_Pos' {aka 'long int'} to 'int' may change value [-Wconversion] + 115 | font_advance[f][c]=slot->advance.x >> 6; + | ^~~~ +font.c:118:26: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 118 | font_width[f][c]=slot->bitmap.width; + | ^~~~ +font.c:119:27: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 119 | font_height[f][c]=slot->bitmap.rows; + | ^~~~ +font.c:120:14: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 120 | texw=tpow2(slot->bitmap.width); + | ^~~~~ +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o shader.o shader.c +font.c:121:14: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 121 | texh=tpow2(slot->bitmap.rows); + | ^~~~~ +font.c:126:38: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 126 | font_bitmap[f][c]=calloc(texw*texh, sizeof(GLuint)); + | ~~~~^~~~~ +font.c:127:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 127 | for (j=0;jbitmap.rows;j++) + | ^ +font.c:129:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 129 | for(i=0;ibitmap.width;i++) { + | ^ +font.c:131:51: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; + | ^ +font.c:131:59: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; + | ^ +font.c:131:65: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 131 | font_bitmap[f][c][ ( slot->bitmap.rows-(j+1) )*texw + i] = p; + | ^ +font.c: In function 'render_text': +font.c:165:7: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 165 | sw+=font_advance[fontnr][(int)text[n]]; + | ^~ +font.c:171:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] + 171 | if (align==1) xp-=(sw/2); + | ^~ +font.c:172:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] + 172 | if (align==2) xp-=sw; + | ^~ +font.c:176:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 176 | if ((int)text[n]=='\n') { yp+=fontsize[fontnr]+2; xp=x; n++; continue; } + | ^~ +font.c:178:68: warning: conversion from 'unsigned int' to 'GLubyte' {aka 'unsigned char'} may change value [-Wconversion] + 178 | glColor4ub((color>>16)&0xff, (color>>8)&0xff, color&0xff, color>>24); + | ~~~~~^~~~ +font.c:182:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 182 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); + | ^ +font.c:182:59: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 182 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); + | ^ +font.c:184:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); + | ^ +font.c:184:55: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); + | ^ +font.c:184:92: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 184 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], yp+font_yoffset[fontnr][(int)text[n]]); + | ^ +font.c:186:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 186 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], + | ^ +font.c:186:55: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 186 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]]+font_width[fontnr][(int)text[n]], + | ^ +font.c:187:18: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 187 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); + | ^ +font.c:187:53: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 187 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); + | ^ +font.c:189:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 189 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], + | ^ +font.c:190:18: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 190 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); + | ^ +font.c:190:53: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 190 | yp+font_yoffset[fontnr][(int)text[n]]+font_height[fontnr][(int)text[n]]); + | ^ +font.c:194:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 194 | xp+=font_advance[fontnr][(int)text[n]]; + | ^~ +In file included from widgets.h:23, + from dialog.h:16, + from about.h:17, + from main.c:28: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); | ^~~~ -audio.c:115:7: warning: no previous prototype for 'audio_shape' [-Wmissing-prototypes] - 115 | float audio_shape(float input) - | ^~~~~~~~~~~ -audio.c: In function 'audio_shape': -audio.c:117:14: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 117 | return 0.5 * (fabs(input + AUDIO_SHAPER_THRESHOLD) - fabs(input - AUDIO_SHAPER_THRESHOLD)); - | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -audio.c: In function 'audio_isplaying': -audio.c:182:5: warning: old-style function definition [-Wold-style-definition] - 182 | int audio_isplaying() - | ^~~~~~~~~~~~~~~ -audio.c: In function 'audio_update': -audio.c:205:22: warning: unused parameter 'cs' [-Wunused-parameter] - 205 | int audio_update(int cs) - | ~~~~^~ -audio.c: In function 'audio_process': -audio.c:254:41: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 254 | if (audiomode==AUDIOMODE_MUTE) return bufferlen; - | ^~~~~~~~~ -audio.c:280:29: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'long int' may change the sign of the result [-Wsign-conversion] - 280 | render_buffer=calloc(2*render_bufferlen, sizeof(short)); - | ~^~~~~~~~~~~~~~~~~ -audio.c:300:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 300 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); - | ~~~~~~~^~ -audio.c:304:74: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 304 | memcpy(&buffer[copylen], &render_buffer[0], (bufferlen-copylen)*4); - | ~~~~~~~~~~~~~~~~~~~^~ -dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 17 | int dotfile_save(); +In file included from main.c:29: +audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 56 | int audio_exportwav(); //char *filename); | ^~~ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -In file included from synthesizer.h:31: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ -In file included from modules.c:22: -sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 33 | void sequencer_init(); - | ^~~~ -sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 80 | void sequencer_bpm_close_dialog(); - | ^~~~ -modules.c:33:35: warning: signed conversion from 'unsigned int' to 'int' changes value from '4023233417' to '-271733879' [-Wsign-conversion] - 33 | int noise_x1=0x67452301, noise_x2=0xefcdab89; - | ^~~~~~~~~~ In file included from synthesizer.h:29, from buffermm.h:18, from main.c:30: @@ -1409,33 +1588,10 @@ dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 17 | int dotfile_save(); | ^~~ -modules.c:311:40: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 311 | char* modVcoWaveforms[VCO_WAVEFORMS]={"Pulse", "Saw", "Triangle", "Sine"}; //, "Noise"}; - | ^~~~~~~ -modules.c:311:49: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 311 | char* modVcoWaveforms[VCO_WAVEFORMS]={"Pulse", "Saw", "Triangle", "Sine"}; //, "Noise"}; - | ^~~~~ -modules.c:311:56: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 311 | char* modVcoWaveforms[VCO_WAVEFORMS]={"Pulse", "Saw", "Triangle", "Sine"}; //, "Noise"}; - | ^~~~~~~~~~ -modules.c:311:68: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 311 | char* modVcoWaveforms[VCO_WAVEFORMS]={"Pulse", "Saw", "Triangle", "Sine"}; //, "Noise"}; - | ^~~~~~ -modules.c:312:40: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~~~ -modules.c:312:50: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~ -modules.c:312:57: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~~~~~ -modules.c:312:69: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~ -modules.c:313:32: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~ +In file included from modules.c:18: +audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 56 | int audio_exportwav(); //char *filename); + | ^~~ synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] 84 | void synth_stackify(int syn); | ^~~~~~~~~~~~~~ @@ -1453,27 +1609,6 @@ sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 33 | void sequencer_init(); | ^~~~ -In file included from synthesizer.h:29, - from buffermm.h:18: -dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 16 | int dotfile_load(); - | ^~~ -dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 17 | int dotfile_save(); - | ^~~ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -In file included from synthesizer.h:31: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 80 | void sequencer_bpm_close_dialog(); | ^~~~ @@ -1578,43 +1713,22 @@ main.c:134:108: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 134 | if (main_ui[MAIN_ABOUT]) { dialog_open(&about_draw, &about_hover, &about_click); dialog_bindkeyboard(&about_keyboard); return; } | ^~~~~~~~~~~~~~~ -modules.c:313:39: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ -modules.c:313:50: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~~ -modules.c:313:62: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~~ main.c:141:61: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 141 | if (main_ui[MAIN_VU]) { audio_peak=0.0f; console_post("VU meter peak reset"); return; } | ^~~~~~~~~~~~~~~~~~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -modules.c:314:36: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; - | ^~~~~~~~~~~~~ main.c: At top level: -modules.c:314:51: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; - | ^~~~~~~~~~~~~~~~ main.c:155:6: warning: no previous prototype for 'keyboardfunc' [-Wmissing-prototypes] 155 | void keyboardfunc(unsigned char key, int x, int y) | ^~~~~~~~~~~~ -modules.c:315:34: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; - | ^~~~~~~~ main.c:168:6: warning: no previous prototype for 'keyboardupfunc' [-Wmissing-prototypes] 168 | void keyboardupfunc(unsigned char key, int x, int y) | ^~~~~~~~~~~~~~ -modules.c:315:44: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; - | ^~~~~~~~~~~~~ main.c:179:6: warning: no previous prototype for 'specialkeyfunc' [-Wmissing-prototypes] 179 | void specialkeyfunc(int key, int x, int y) | ^~~~~~~~~~~~~~ @@ -1631,250 +1745,64 @@ main.c:184:3: warning: switch missing default case [-Wswitch-default] 184 | switch (cpage) | ^~~~~~ -modules.c:343:3: warning: conversion from 'float' to 'int' changes value from '3.05e+1f' to '30' [-Wfloat-conversion] - 343 | (MODULE_HALF)+0.5, -(MODULE_HALF)+0.5, MODULE_HALF, MODULE_HALF}; - | ^ main.c:195:36: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 195 | if (cpage!=1) { console_post("Synthesizers"); cpage=1;} | ^~~~~~~~~~~~~~ -modules.c:343:22: warning: conversion from 'float' to 'int' changes value from '-2.95e+1f' to '-29' [-Wfloat-conversion] - 343 | (MODULE_HALF)+0.5, -(MODULE_HALF)+0.5, MODULE_HALF, MODULE_HALF}; - | ^ -modules.c:353:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 353 | void calc_supersaw_tables() { - | ^~~~~~~~~~~~~~~~~~~~ -modules.c: In function 'calc_supersaw_tables': -modules.c:353:6: warning: old-style function definition [-Wold-style-definition] -modules.c:359:26: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 359 | supersaw_mix[mod][0]=-0.55366*x + 0.99785; - | ^ -modules.c:362:33: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 362 | supersaw_detune[mod][osc]=1.0+osc_offset[osc]*y; - | ^~~ -modules.c:363:39: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 363 | if (osc) supersaw_mix[mod][osc]=-0.73764*x*x + 1.2841*x + 0.044372; - | ^ -modules.c: At top level: -modules.h:29:39: warning: no previous prototype for 'modfunc_kbd' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:378:1: note: in expansion of macro 'MODULE_FUNC' - 378 | MODULE_FUNC(kbd) { return *mod=pitch[v]/OUTPUTFREQ; } - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_kbd': -modules.h:29:88: warning: unused parameter 'data' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~^~~~ -modules.c:378:1: note: in expansion of macro 'MODULE_FUNC' - 378 | MODULE_FUNC(kbd) { return *mod=pitch[v]/OUTPUTFREQ; } - | ^~~~~~~~~~~ -modules.h:29:101: warning: unused parameter 'ms' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~~^~ -modules.c:378:1: note: in expansion of macro 'MODULE_FUNC' - 378 | MODULE_FUNC(kbd) { return *mod=pitch[v]/OUTPUTFREQ; } - | ^~~~~~~~~~~ -modules.c: At top level: -modules.h:29:39: warning: no previous prototype for 'modfunc_modulator' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:380:1: note: in expansion of macro 'MODULE_FUNC' - 380 | MODULE_FUNC(modulator) { - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_modulator': -modules.h:29:88: warning: unused parameter 'data' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~^~~~ -modules.c:380:1: note: in expansion of macro 'MODULE_FUNC' - 380 | MODULE_FUNC(modulator) { - | ^~~~~~~~~~~ -modules.h:29:101: warning: unused parameter 'ms' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~~^~ -modules.c:380:1: note: in expansion of macro 'MODULE_FUNC' - 380 | MODULE_FUNC(modulator) { - | ^~~~~~~~~~~ -modules.c: At top level: -modules.h:29:39: warning: no previous prototype for 'modfunc_output' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:390:1: note: in expansion of macro 'MODULE_FUNC' - 390 | MODULE_FUNC(output) { return ms[0]*(*mod); } - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_output': -modules.h:29:67: warning: unused parameter 'v' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~~~~~~~~~^ -modules.c:390:1: note: in expansion of macro 'MODULE_FUNC' - 390 | MODULE_FUNC(output) { return ms[0]*(*mod); } - | ^~~~~~~~~~~ -modules.h:29:88: warning: unused parameter 'data' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~^~~~ -modules.c:390:1: note: in expansion of macro 'MODULE_FUNC' - 390 | MODULE_FUNC(output) { return ms[0]*(*mod); } - | ^~~~~~~~~~~ -modules.c: At top level: -modules.h:29:39: warning: no previous prototype for 'modfunc_accent' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:393:1: note: in expansion of macro 'MODULE_FUNC' - 393 | MODULE_FUNC(accent) { - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_accent': -modules.h:29:88: warning: unused parameter 'data' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~^~~~ -modules.c:393:1: note: in expansion of macro 'MODULE_FUNC' - 393 | MODULE_FUNC(accent) { - | ^~~~~~~~~~~ -modules.h:29:101: warning: unused parameter 'ms' [-Wunused-parameter] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ~~~~~~~^~ -modules.c:393:1: note: in expansion of macro 'MODULE_FUNC' - 393 | MODULE_FUNC(accent) { - | ^~~~~~~~~~~ -modules.c: At top level: -modules.h:29:39: warning: no previous prototype for 'modfunc_vco' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:398:1: note: in expansion of macro 'MODULE_FUNC' - 398 | MODULE_FUNC(vco) // phase-accumulating oscillator w/ suboscillator - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_vco': -modules.c:403:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 403 | mod_fdata[0]-=floor(mod_fdata[0]); - | ^~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -modules.c:407:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 407 | mod_fdata[1]-=floor(mod_fdata[1]); - | ^~~~~ main.c:198:36: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 198 | if (cpage!=2) { console_post("Patches"); cpage=2; } | ^~~~~~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -audio.c:309:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 309 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); - | ~~~~~~~^~ main.c:201:36: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 201 | if (cpage!=3) { console_post("Patterns"); cpage=3; } | ^~~~~~~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -audio.c:321:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 321 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); - | ~~~~~~~^~ main.c:204:36: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 204 | if (cpage!=4) { console_post("Sequencer"); cpage=4; } | ^~~~~~~~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -audio.c:325:58: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 325 | memset(&buffer[copylen], 0, (bufferlen-copylen)*4); - | ~~~~~~~~~~~~~~~~~~~^~ main.c: At top level: main.c:212:6: warning: no previous prototype for 'update' [-Wmissing-prototypes] 212 | void update(int value) | ^~~~~~ -audio.c:334:65: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 334 | memcpy(buffer, &render_buffer[render_playpos*2], copylen*4); - | ~~~~~~~^~ -audio.c:346:12: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 346 | return bufferlen; - | ^~~~~~~~~ main.c:222:7: warning: no previous prototype for 'audio_playback' [-Wmissing-prototypes] 222 | void *audio_playback(void *param) | ^~~~~~~~~~~~~~ -audio.c:360:21: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 360 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index - | ^ main.c: In function 'audio_playback': -audio.c:360:13: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] - 360 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index - | ^~~~~~~ main.c:224:7: warning: variable 'rc' set but not used [-Wunused-but-set-variable] 224 | int rc; | ^~ -audio.c:361:15: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 361 | pattpos=ticks>>6; - | ^~~~~ main.c:222:28: warning: unused parameter 'param' [-Wunused-parameter] 222 | void *audio_playback(void *param) | ~~~~~~^~~~~ -audio.c:378:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 378 | if ( m<(pattlen[cpatt]*16) ) { // don't drop gate if next note is legato - | ^ -audio.c:394:17: warning: declaration of 'i' shadows a previous local [-Wshadow] - 394 | for(int i=0;i<4;i++) { - | ^ -audio.c:243:7: note: shadowed declaration is here - 243 | int i, m, mi=0, mt, ii, pkey; - | ^ main.c: At top level: -audio.c:402:46: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 402 | buf=kmm_alloc(modDataBufferLength[mt], voice, csynth, mi, mt); - | ~~~~~~~~~~~~~~~~~~~^~~~ main.c:233:7: warning: no previous prototype for 'audio_renderer' [-Wmissing-prototypes] 233 | void *audio_renderer(void *param) | ^~~~~~~~~~~~~~ -audio.c:408:47: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] - 408 | output[voice][mi]=mod_functable[mt](voice, &modulator[voice][mi], (void*)&localdata[voice][mi], (float*)&signals); - | ^~~~~ main.c: In function 'audio_renderer': -audio.c:415:44: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 415 | if (fabs(p) > audio_peak) audio_peak=fabs(p); - | ^~~~ -audio.c:416:58: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 416 | if (fabs(p) > audio_latest_peak) audio_latest_peak=fabs(p); - | ^~~~ -audio.c:423:15: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 423 | oldtick=ticks; - | ^~~~~ main.c:235:7: warning: variable 'rc' set but not used [-Wunused-but-set-variable] 235 | int rc; | ^~ -audio.c:431:10: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 431 | return bufferlen; - | ^~~~~~~~~ -audio.c: At top level: -audio.c:441:6: warning: no previous prototype for 'audio_render' [-Wmissing-prototypes] - 441 | long audio_render(void) - | ^~~~~~~~~~~~ main.c:233:28: warning: unused parameter 'param' [-Wunused-parameter] 233 | void *audio_renderer(void *param) | ~~~~~~^~~~~ -audio.c: In function 'audio_render': -audio.c:485:43: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 485 | if (sequencer_ispattern(voice, ticks>>10)) { // is there a pattern here? - | ~~~~~^~~~ main.c: At top level: -audio.c:486:54: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 486 | pattstart=sequencer_patternstart(voice, ticks>>10); - | ~~~~~^~~~ -audio.c:488:17: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 488 | pattpos=(ticks/64) - (pattstart*16); - | ^ -audio.c:489:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); - | ^~ main.c:248:6: warning: no previous prototype for 'display' [-Wmissing-prototypes] 248 | void display(void) | ^~~~~~~ -audio.c:489:55: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); - | ^~ -audio.c:489:57: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 489 | while (pattpos>=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); - | ^ -audio.c:514:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 514 | if ( m<(pattlen[pattern]*16) ) { // don't drop gate if next note is legato - | ^ +In file included from buffermm.h:16, + from modules.c:19: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ main.c: In function 'display': main.c:284:47: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 284 | draw_button(DS_WIDTH-159, DS_HEIGHT-14, 16, "1", main_ui[MAIN_PAGE1]); @@ -1897,27 +1825,6 @@ main.c:287:46: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 287 | draw_button(DS_WIDTH-93, DS_HEIGHT-14, 16, "4", main_ui[MAIN_PAGE4]); | ^~~ -buffermm.c: In function 'kmm_alloc': -buffermm.c:97:69: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=] - 97 | printf("kmm: module data buffer allocated from %08lx - len %d (%d bytes), v %d s %d mi %d mt %d\n", - | ~^ - | | - | int - | %ld - 98 | (unsigned long)buffer, len, len*sizeof(u32), voice,synth,module,modtype); - | ~~~ - | | - | long unsigned int -buffermm.c:97:73: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] - 97 | printf("kmm: module data buffer allocated from %08lx - len %d (%d bytes), v %d s %d mi %d mt %d\n", - | ~^ - | | - | int - | %ld - 98 | (unsigned long)buffer, len, len*sizeof(u32), voice,synth,module,modtype); - | ~~~~~~~~~~~~~~~ - | | - | long unsigned int widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ @@ -1977,12 +1884,21 @@ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o synthesizer.o synthesizer.c In file included from synthesizer.h:24, from patch.h:21, from fileops.c:20: audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 56 | int audio_exportwav(); //char *filename); | ^~~ +main.c: In function 'audio_playback': +main.c:222:7: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] + 222 | void *audio_playback(void *param) + | ^~~~~~~~~~~~~~ +main.c: In function 'audio_renderer': +main.c:233:7: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] + 233 | void *audio_renderer(void *param) + | ^~~~~~~~~~~~~~ In file included from synthesizer.h:29: dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 16 | int dotfile_load(); @@ -1990,22 +1906,284 @@ dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 17 | int dotfile_save(); | ^~~ -In file included from synthesizer.h:24, - from patch.h:21: -audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 56 | int audio_exportwav(); //char *filename); - | ^~~ -In file included from synthesizer.h:29: +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +In file included from fileops.c:18: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ +fileops.c: In function 'load_ksong': +main.c: In function 'cleanup': +fileops.c:71:12: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 71 | chunklen=probe_chunk(f, chunktype); + | ^~~~~~~~~~~ +fileops.c:77:8: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 77 | flen=ftell(f); + | ^~~~~ +main.c:322:6: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] + 322 | void cleanup(void) + | ^~~~~~~ +fileops.c:86:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 86 | r=fread(&cpat, sizeof(int), 1, f); + | ^~~~~ +fileops.c:91:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 91 | r=fread(&csyn, sizeof(int), 1, f); + | ^~~~~ +fileops.c:63:10: warning: variable 'r' set but not used [-Wunused-but-set-variable] + 63 | int i, r, cpat, csyn; + | ^ +fileops.c: In function 'save_ksong': +fileops.c:124:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 124 | for(n=0,i=0;ig.gl_pathv[i], '/')+1, 255); + | ^ +filedialog.c:126:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] +filedialog.c:114:7: warning: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Wstringop-truncation] + 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); + | ^ +filedialog.c:114:41: note: length computed here + 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~ +filedialog.c:116:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] + 116 | strncpy(tmps, rindex(ttmps, '/')+1, 255); + | ^ +font.c: In function 'font_init': +font.c:83:5: warning: '__builtin_strncpy' output may be truncated copying 511 bytes from a string of length 511 [-Wstringop-truncation] + 83 | strncpy(fullpath, respath, 511); + | ^ +font.c:84:5: warning: '__builtin___strncat_chk' output may be truncated copying 511 bytes from a string of length 2039 [-Wstringop-truncation] + 84 | strncat(fullpath, fontfile[i], 511); + | ^ +fileops.c: In function 'load_chunk_kseq': +fileops.c:287:27: warning: passing argument 2 of 'load_chunk' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 287 | chunkdata=load_chunk(f, "KSEQ"); + | ^~~~~~ +fileops.h:55:33: note: expected 'char *' but argument is of type 'const char *' + 55 | void* load_chunk(FILE *f, char *chunktype); + | ~~~~~~^~~~~~~~~ +fileops.c:294:38: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 294 | memcpy(seq_synth, &chunkdata[12], 4*seqch); + | ~^~~~~~ +fileops.c:300:11: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 300 | filepos=12 + 4*seqch; + | ^~ +fileops.c:301:65: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 301 | for(i=0;i=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } + | ^ +fileops.c:374:64: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 374 | while(signalfifo[syn][m]>=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } + | ^~~~~~~~~~ +fileops.c:378:9: warning: conversion from 'long unsigned int' to 'unsigned int' may change value [-Wconversion] + 378 | dsize=8 + MAX_PATCHES * (128 + 3*stacklen*4); + | ^ +fileops.c:397:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'unsigned int' may change value [-Wconversion] + 397 | m=fwrite(filedata, sizeof(char), dsize+8, f); + | ^~~~~~ +fileops.c: In function 'save_chunk_kpat': +fileops.c:411:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 411 | r=fwrite("KPAT", sizeof(char), 4, f); + | ^~~~~~ +fileops.c:413:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 413 | r=fwrite(&chunklen, sizeof(unsigned int), 1, f); + | ^~~~~~ +fileops.c:415:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 415 | r=fwrite(&pattlen[patt], sizeof(unsigned int), 1, f); + | ^~~~~~ +fileops.c:417:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 417 | r=fwrite(&pattdata[patt], sizeof(unsigned int), pattlen[patt]*16, f); + | ^~~~~~ +fileops.c: In function 'save_chunk_kseq': +fileops.c:429:12: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 429 | chunklen=12 + 4*seqch + 4*seqch*seqsonglen*4; + | ^~ +gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o widgets.o widgets.c +fileops.c:430:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 430 | r=fwrite("KSEQ", sizeof(char), 4, f); + | ^~~~~~ +fileops.c:431:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 431 | r=fwrite(&chunklen, sizeof(unsigned int), 1, f); + | ^~~~~~ +In file included from synthesizer.h:29, + from buffermm.h:18: dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 16 | int dotfile_load(); | ^~~ +fileops.c:433:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 433 | r=fwrite(&seqch, sizeof(unsigned int), 1, f); + | ^~~~~~ +fileops.c:434:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 434 | r=fwrite(&seqsonglen, sizeof(unsigned int), 1, f); + | ^~~~~~ +fileops.c:435:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 435 | r=fwrite(&bpm, sizeof(unsigned int), 1, f); + | ^~~~~~ +fileops.c:438:45: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 438 | r=fwrite(seq_synth, sizeof(unsigned int), seqch, f); + | ^~~~~ +fileops.c:438:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 438 | r=fwrite(seq_synth, sizeof(unsigned int), seqch, f); + | ^~~~~~ +fileops.c:441:73: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 441 | for(i=0;i1) loopend=ms[2]; // use loop input if greater than 1 sample | ^~ -audio.c:526:17: warning: declaration of 'i' shadows a previous local [-Wshadow] - 526 | for(int i=0;i<4;i++) { - | ^ -audio.c:446:7: note: shadowed declaration is here - 446 | int i, voice; - | ^ -audio.c:536:46: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 536 | buf=kmm_alloc(modDataBufferLength[mt], voice, synth, mi, mt); - | ~~~~~~~~~~~~~~~~~~~^~~~ -audio.c:544:47: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] - 544 | output[voice][mi]=mod_functable[mt](voice, &modulator[voice][mi], (void*)&localdata[voice][mi], (float*)&signals); - | ^~~~~ -audio.c:555:42: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 555 | if (fabs(p) > audio_peak) audio_peak=fabs(p); - | ^~~~ -audio.c:556:56: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 556 | if (fabs(p) > audio_latest_peak) audio_latest_peak=fabs(p); - | ^~~~ -audio.c:562:13: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 562 | oldtick=ticks; - | ^~~~~ -audio.c: In function 'audio_resetsynth': -audio.c:652:65: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 652 | if (lbuf) memset(lbuf, 0, modDataBufferLength[MOD_DELAY]*sizeof(float)); - | ^ -audio.c:662:46: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 662 | for(i=0;i<8;i++) mod_ddata(voice, mi)[0]=0; - | ^ -audio.c:637:5: warning: switch missing default case [-Wswitch-default] - 637 | switch(mt) { - | ^~~~~~ -audio.c: At top level: -audio.c:698:5: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 698 | int audio_exportwav() //char *filename) - | ^~~~~~~~~~~~~~~ -audio.c: In function 'audio_exportwav': -audio.c:698:5: warning: old-style function definition [-Wold-style-definition] -audio.c:722:19: warning: conversion from 'long int' to 'unsigned int' may change value [-Wconversion] - 722 | w.wav_chunksize=36+render_bufferlen*2*2; - | ^~ -patch.c:174:7: warning: switch missing default case [-Wswitch-default] - 174 | switch (key) { - | ^~~~~~ -patch.c: In function 'patch_mouse_drag': -patch.c:201:27: warning: unused parameter 'x' [-Wunused-parameter] - 201 | void patch_mouse_drag(int x, int y) - | ~~~~^ -patch.c:201:34: warning: unused parameter 'y' [-Wunused-parameter] - 201 | void patch_mouse_drag(int x, int y) - | ~~~~^ -patch.c: In function 'patch_mouse_click': -patch.c:217:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] - 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; - | ^~ -patch.c:217:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' - 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; - | ^~~~~~ -patch.c:260:22: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 260 | console_post("Patch copied to clipboard"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from pattern.h:19, - from buffermm.h:17, - from synthesizer.h:25: -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -patch.c:273:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 273 | console_post("Patch pasted from clipboard"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -patch.c:336:76: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 336 | patch_modulator_floatval=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][cpatch[csynth]][ mi ]); - | ~~~~~~~~~~~~~~~^~~~~~ -patch.c:341:42: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 341 | patch_modulator_intval=modvalue[ csynth ][cpatch[csynth]][ mi ]; - | ^~~~~~~~ -patch.c:334:15: warning: switch missing default case [-Wswitch-default] - 334 | switch(modModulatorTypes[mod[csynth][mi].type]) { - | ^~~~~~ -patch.c:344:27: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); - | ^~~~~~~~~~~~~~~~~~~~~ -In file included from synthesizer.h:28: -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -patch.c:344:50: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); - | ^~~~~~~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -patch.c:344:74: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); - | ^~~~~~~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -patch.c:345:35: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 345 | dialog_bindkeyboard(&patch_modulator_keyboard); - | ^~~~~~~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ -patch.c:346:34: warning: ISO C forbids passing argument 1 of 'dialog_bindspecial' between function pointer and 'void *' [-Wpedantic] - 346 | dialog_bindspecial(&patch_modulator_special); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -dialog.h:24:31: note: expected 'void *' but argument is of type 'void (*)(int, int, int)' - 24 | void dialog_bindspecial(void *specialfunc); - | ~~~~~~^~~~~~~~~~~ -patch.c:351:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 351 | console_post("No settings for this module!"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -patch.c: In function 'patch_keyboard': -patch.c:378:3: warning: switch missing default case [-Wswitch-default] - 378 | switch (key) { - | ^~~~~~ -patch.c:367:44: warning: unused parameter 'x' [-Wunused-parameter] - 367 | void patch_keyboard(unsigned char key, int x, int y) - | ~~~~^ -patch.c:367:51: warning: unused parameter 'y' [-Wunused-parameter] - 367 | void patch_keyboard(unsigned char key, int x, int y) - | ~~~~^ -patch.c: In function 'patch_keyboardup': -patch.c:401:46: warning: unused parameter 'x' [-Wunused-parameter] - 401 | void patch_keyboardup(unsigned char key, int x, int y) - | ~~~~^ -patch.c:401:53: warning: unused parameter 'y' [-Wunused-parameter] - 401 | void patch_keyboardup(unsigned char key, int x, int y) - | ~~~~^ -patch.c: In function 'patch_specialkey': -patch.c:419:3: warning: switch missing default case [-Wswitch-default] - 419 | switch(key) - | ^~~~~~ -patch.c:417:46: warning: unused parameter 'x' [-Wunused-parameter] - 417 | void patch_specialkey(unsigned char key, int x, int y) - | ~~~~^ -patch.c:417:53: warning: unused parameter 'y' [-Wunused-parameter] - 417 | void patch_specialkey(unsigned char key, int x, int y) - | ~~~~^ -patch.c: In function 'patch_draw': -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -In file included from fileops.c:18: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ -fileops.c: In function 'load_ksong': -fileops.c:71:12: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 71 | chunklen=probe_chunk(f, chunktype); - | ^~~~~~~~~~~ -fileops.c:77:8: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 77 | flen=ftell(f); - | ^~~~~ -fileops.c:86:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 86 | r=fread(&cpat, sizeof(int), 1, f); - | ^~~~~ -fileops.c:91:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 91 | r=fread(&csyn, sizeof(int), 1, f); - | ^~~~~ -fileops.c:63:10: warning: variable 'r' set but not used [-Wunused-but-set-variable] - 63 | int i, r, cpat, csyn; - | ^ -fileops.c: In function 'save_ksong': -fileops.c:124:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 124 | for(n=0,i=0;ig.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); + | ^ +filedialog.c:203:69: note: length computed here + 203 | strncpy(ttmps, fd->g.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ modules.c:545:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] 545 | if (fabs(out)>1.0) out = out/fabs(out); | ^~~ +filedialog.c:205:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] + 205 | strncpy(tmps, rindex(ttmps, '/')+1, 255); + | ^ modules.h:29:67: warning: unused parameter 'v' [-Wunused-parameter] 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) | ~~~~~~~~~~~~~~^ modules.c:540:1: note: in expansion of macro 'MODULE_FUNC' 540 | MODULE_FUNC(dist) { // simple clipping distort | ^~~~~~~~~~~ +filedialog.c:226:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] + 226 | strncpy(fd->fname, strrchr(fd->g.gl_pathv[fd->sliderpos+fd->listhover], '/')+1, 255); + | ^ modules.h:29:77: warning: unused parameter 'mod' [-Wunused-parameter] 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) | ~~~~~~~^~~ modules.c:540:1: note: in expansion of macro 'MODULE_FUNC' 540 | MODULE_FUNC(dist) { // simple clipping distort | ^~~~~~~~~~~ +filedialog.c:180:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] + 180 | strncat(fd->fullpath, fd->fmask+1, 512); + | ^ modules.h:29:88: warning: unused parameter 'data' [-Wunused-parameter] 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) | ~~~~~~^~~~ @@ -2535,6 +2621,25 @@ modules.c:586:1: note: in expansion of macro 'MODULE_FUNC' 586 | MODULE_FUNC(mixer) { return ms[0]+ms[1]+ms[2]+ms[3]; } | ^~~~~~~~~~~ +In function 'strncat', + inlined from 'filedialog_click' at filedialog.c:177:5: +/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] + 149 | return __builtin___strncat_chk (__dest, __src, __len, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 150 | __glibc_objsize (__dest)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +In function 'strncat', + inlined from 'filedialog_click' at filedialog.c:180:7: +/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] + 149 | return __builtin___strncat_chk (__dest, __src, __len, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 150 | __glibc_objsize (__dest)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from patch.h:20, + from patch.c:13: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ modules.h:29:77: warning: unused parameter 'mod' [-Wunused-parameter] 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) | ~~~~~~~^~~ @@ -2554,241 +2659,6 @@ modules.c:590:1: note: in expansion of macro 'MODULE_FUNC' 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass | ^~~~~~~~~~~ -audio.c:723:23: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] - 723 | w.wav_sub2chunksize=render_bufferlen*2*2; - | ^~~~~~~~~~~~~~~~ -audio.c:727:56: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'long int' may change the sign of the result [-Wsign-conversion] - 727 | fwrite(render_buffer, sizeof(short), render_bufferlen*2, f); - | ~~~~~~~~~~~~~~~~^~ -patch.c:460:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 460 | glVertex2f(x+16, 8+m*16-yd); - | ~^~~ -patch.c:460:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 460 | glVertex2f(x+16, 8+m*16-yd); - | ~~~~~~^~~ -patch.c:461:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 461 | glVertex2f(x+380, 8+m*16-yd); - | ~^~~~ -patch.c:461:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 461 | glVertex2f(x+380, 8+m*16-yd); - | ~~~~~~^~~ -patch.c:462:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 462 | glVertex2f(x+380, 24+m*16-yd); - | ~^~~~ -patch.c:462:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 462 | glVertex2f(x+380, 24+m*16-yd); - | ~~~~~~~^~~ -patch.c:463:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 463 | glVertex2f(x+16, 24+m*16-yd); - | ~^~~ -patch.c:463:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 463 | glVertex2f(x+16, 24+m*16-yd); - | ~~~~~~~^~~ -patch.c:467:51: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 467 | sprintf(tmps, "%02d", mi); render_text(tmps, x+20, 20+mm*16-yd, 2, 0xff505050, 0); - | ~^~~ -patch.c:467:64: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 467 | sprintf(tmps, "%02d", mi); render_text(tmps, x+20, 20+mm*16-yd, 2, 0xff505050, 0); - | ~~~~~~~~^~~ -patch.c:468:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 468 | sprintf(tmps, "%s", modTypeNames[mod[csynth][mi].type]); render_text(tmps, x+44, 20+mm*16-yd, 2, 0xffc0c0c0, 0); - | ~^~~ -patch.c:468:94: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 468 | sprintf(tmps, "%s", modTypeNames[mod[csynth][mi].type]); render_text(tmps, x+44, 20+mm*16-yd, 2, 0xffc0c0c0, 0); - | ~~~~~~~~^~~ -patch.c:476:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 476 | render_text(tmps, x+110, 20+mm*16-yd, 2, 0xff808080, 0); - | ~^~~~ -patch.c:476:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 476 | render_text(tmps, x+110, 20+mm*16-yd, 2, 0xff808080, 0); - | ~~~~~~~~^~~ -patch.c:483:45: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 483 | f=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][ cpatch[csynth] ][ mi ]); - | ~~~~~~~~~~~~~~~^~~~~~ -patch.c:478:5: warning: switch missing default case [-Wswitch-default] - 478 | switch(modModulatorTypes[mod[csynth][mi].type]) - | ^~~~~~ -fileops.c: In function 'load_chunk_kseq': -fileops.c:287:27: warning: passing argument 2 of 'load_chunk' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 287 | chunkdata=load_chunk(f, "KSEQ"); - | ^~~~~~ -fileops.h:55:33: note: expected 'char *' but argument is of type 'const char *' - 55 | void* load_chunk(FILE *f, char *chunktype); - | ~~~~~~^~~~~~~~~ -fileops.c:294:38: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 294 | memcpy(seq_synth, &chunkdata[12], 4*seqch); - | ~^~~~~~ -fileops.c:300:11: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 300 | filepos=12 + 4*seqch; - | ^~ -fileops.c:301:65: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 301 | for(i=0;i=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } - | ^ -fileops.c:374:64: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 374 | while(signalfifo[syn][m]>=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } - | ^~~~~~~~~~ -fileops.c:378:9: warning: conversion from 'long unsigned int' to 'unsigned int' may change value [-Wconversion] - 378 | dsize=8 + MAX_PATCHES * (128 + 3*stacklen*4); - | ^ -fileops.c:397:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'unsigned int' may change value [-Wconversion] - 397 | m=fwrite(filedata, sizeof(char), dsize+8, f); - | ^~~~~~ -fileops.c: In function 'save_chunk_kpat': -fileops.c:411:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 411 | r=fwrite("KPAT", sizeof(char), 4, f); - | ^~~~~~ -fileops.c:413:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 413 | r=fwrite(&chunklen, sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:415:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 415 | r=fwrite(&pattlen[patt], sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:417:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 417 | r=fwrite(&pattdata[patt], sizeof(unsigned int), pattlen[patt]*16, f); - | ^~~~~~ -fileops.c: In function 'save_chunk_kseq': -fileops.c:429:12: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 429 | chunklen=12 + 4*seqch + 4*seqch*seqsonglen*4; - | ^~ -main.c: In function 'cleanup': -patch.c:496:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 496 | render_text(tmps, x+250, 20+mm*16-yd, 2, 0xffc0c0c0, 0); - | ~^~~~ -patch.c:496:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 496 | render_text(tmps, x+250, 20+mm*16-yd, 2, 0xffc0c0c0, 0); - | ~~~~~~~~^~~ -patch.c:506:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 506 | draw_kbhoct(PIANO_LEFT+m*16*7, PIANO_TOP, 16, 70, m, cpkey, rkdown, &pianokeys[(m-coct)*12]); - | ^ -patch.c:508:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 508 | draw_kbhoct(PIANO_LEFT+m*16*7, PIANO_TOP, 16, 70, m, cpkey, rkdown, NULL); - | ^ -patch.c:513:31: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 513 | draw_button(17, 520-12, 16, "-", patch_ui[B_OCTDN]); - | ^~~ -In file included from pattern.h:22: -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:514:40: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 514 | draw_button(DS_WIDTH-17, 520-12, 16, "+", patch_ui[B_OCTUP]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:519:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 519 | draw_button(622, DS_HEIGHT-14, 16, "C", patch_ui[B_COPY]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:520:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 520 | draw_button(644, DS_HEIGHT-14, 16, "V", patch_ui[B_PASTE]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:529:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 529 | draw_button(310, DS_HEIGHT-14, 16, "<<", patch_ui[B_PREV]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:532:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 532 | draw_button(362, DS_HEIGHT-14, 16, ">>", patch_ui[B_NEXT]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -main.c:322:6: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] - 322 | void cleanup(void) - | ^~~~~~~ -patch.c:534:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 534 | draw_button(14, DS_HEIGHT-14, 16, "<<", patch_ui[B_PREVSYN]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:537:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 537 | draw_button(230, DS_HEIGHT-14, 16, ">>", patch_ui[B_NEXTSYN]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c: In function 'patch_draw_modulator': -patch.c:558:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 558 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 120, 226, "", 0); - | ^~ -widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' - 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); - | ~~~~~~^~~~~ -patch.c:568:53: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 568 | draw_button((DS_WIDTH/2)+96, (DS_HEIGHT/2)+2, 16, "+", modulator_ui[B_MOD_ADDPREC]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:569:53: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 569 | draw_button((DS_WIDTH/2)-28, (DS_HEIGHT/2)+2, 16, "-", modulator_ui[B_MOD_DECPREC]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -patch.c:574:42: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 574 | rf=knob_scale2float(mod[csynth][mi].scale, rf); - | ~~~~~~~~~~~~~~~^~~~~~ -patch.c:579:41: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 579 | f=knob_float2scale(mod[csynth][mi].scale, rf); - | ~~~~~~~~~~~~~~~^~~~~~ modules.c: In function 'modfunc_lpf24': modules.c:613:19: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] 613 | return mod_ddata[3]; //out4; @@ -2883,127 +2753,6 @@ modules.c:658:1: note: in expansion of macro 'MODULE_FUNC' 658 | MODULE_FUNC(envdet) { // envelope follower: ms[0] = input, ms[1] = attack, ms[2] = release | ^~~~~~~~~~~ -filedialog.c: In function 'filedialog_open': -fileops.c:430:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 430 | r=fwrite("KSEQ", sizeof(char), 4, f); - | ^~~~~~ -fileops.c:431:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 431 | r=fwrite(&chunklen, sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:433:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 433 | r=fwrite(&seqch, sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:434:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 434 | r=fwrite(&seqsonglen, sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:435:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 435 | r=fwrite(&bpm, sizeof(unsigned int), 1, f); - | ^~~~~~ -fileops.c:438:45: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 438 | r=fwrite(seq_synth, sizeof(unsigned int), seqch, f); - | ^~~~~ -fileops.c:438:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 438 | r=fwrite(seq_synth, sizeof(unsigned int), seqch, f); - | ^~~~~~ -fileops.c:441:73: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 441 | for(i=0;i12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; - | ^~ -patch.c:647:112: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' - 647 | if (modquantifier[ csynth ][cpatch[csynth]][ mi ]>12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; - | ^~~~~~ -patch.c: In function 'patch_modulator_special': -patch.c:674:39: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 674 | f=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][cpatch[csynth]][ mi ]); - | ~~~~~~~~~~~~~~~^~~~~~ modules.h:29:77: warning: unused parameter 'mod' [-Wunused-parameter] 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) | ~~~~~~~^~~ @@ -3051,167 +2800,421 @@ modules.c:684:1: note: in expansion of macro 'MODULE_FUNC' 684 | MODULE_FUNC(supersaw) { | ^~~~~~~~~~~ -filedialog.c:24:3: warning: '__builtin___strncat_chk' specified bound 255 equals destination size [-Wstringop-truncation] - 24 | strncat((char*)&fd->fmask, ext, 255); - | ^ -fileops.c:568:58: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] - 568 | for(m=0;mfullpath, fd->fmask+1, 512); + | ^ In function 'strncat', - inlined from 'filedialog_open' at filedialog.c:24:3: -fileops.c:610:41: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 610 | val=knob_scale2float(mod[s][m].scale, modvalue[s][p][m]); // un-scale raw float - | ~~~~~~~~~^~~~~~ -/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 255 equals destination size [-Wstringop-overflow=] + inlined from 'filedialog_keyboard' at filedialog.c:247:5: +/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] 149 | return __builtin___strncat_chk (__dest, __src, __len, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 150 | __glibc_objsize (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~~ -patch.c:662:50: warning: unused parameter 'y' [-Wunused-parameter] - 662 | void patch_modulator_special(int key, int x, int y) - | ~~~~^ -fileops.c:612:50: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 612 | modvalue[s][p][m]=(val*60*OUTPUTFREQ)/newbpm; // re-scale frequency to raw with new bpm - | ^ -patch.c: In function 'patch_modulator_keyboard': -fileops.c:614:51: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 614 | modvalue[s][p][m]=(OUTPUTFREQ*60)/(val*newbpm); // ditto with tempo - | ^ -patch.c:739:45: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 739 | f=knob_scale2float(mod[csynth][mi].scale, f); - | ~~~~~~~~~~~~~~~^~~~~~ -patch.c:735:5: warning: switch missing default case [-Wswitch-default] - 735 | switch(modModulatorTypes[mod[csynth][mi].type]) { - | ^~~~~~ -patch.c:718:54: warning: unused parameter 'x' [-Wunused-parameter] - 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) - | ~~~~^ -patch.c:718:61: warning: unused parameter 'y' [-Wunused-parameter] - 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) - | ~~~~^ -patch.c: In function 'knob_scale2float': -patch.c:770:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 770 | case SCALE_FREQUENCY_TEMPO: return (value*bpm)/(60*OUTPUTFREQ); - | ^ -patch.c:771:47: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 771 | case SCALE_DURATION_TEMPO: return (60/(bpm*value))*OUTPUTFREQ; - | ^ -patch.c:775:73: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 775 | case SCALE_MIDI_NOTE: return 8.1757989156 * pow(1.059463094, value) / OUTPUTFREQ; -patch.c:776:38: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 776 | case SCALE_NOTE_INTERVAL: return pow(1.059463094, value); - | ^~~~~~~~~~~~~~~~~~~~~~~ -patch.c:767:3: warning: switch missing default case [-Wswitch-default] - 767 | switch(scale) { - | ^~~~~~ -patch.c: In function 'knob_float2scale': -patch.c:786:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 786 | case SCALE_FREQUENCY_TEMPO: return (value*60*OUTPUTFREQ)/bpm; - | ^ -gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o synthesizer.o synthesizer.c -patch.c:787:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 787 | case SCALE_DURATION_TEMPO: return (OUTPUTFREQ*60)/(value*bpm); - | ^ -patch.c:791:48: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 791 | case SCALE_MIDI_NOTE: return 17.31234049667*log(0.12231220586*value*OUTPUTFREQ); - | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -patch.c:792:52: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 792 | case SCALE_NOTE_INTERVAL: return 17.31234049667*log(value); - | ~~~~~~~~~~~~~~^~~~~~~~~~~ -patch.c:783:3: warning: switch missing default case [-Wswitch-default] - 783 | switch(scale) { - | ^~~~~~ -audio.c:708:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] - 708 | strncpy((char*)&w.wav_chunkid, "RIFF", 4); - | ^ -audio.c:710:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] - 710 | strncpy((char*)&w.wav_format, "WAVE", 4); - | ^ -audio.c:711:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] - 711 | strncpy((char*)&w.wav_sub1chunkid, "fmt ", 4); - | ^ -audio.c:719:3: warning: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] - 719 | strncpy((char*)&w.wav_sub2chunkid, "data", 4); - | ^ -gcc -DPACKAGE_NAME=\"komposter\" -DPACKAGE_TARNAME=\"komposter\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"komposter\ 2.0.0\" -DPACKAGE_BUGREPORT=\"email\" -DPACKAGE_URL=\"\" -DPACKAGE=\"komposter\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_FREETYPE=1 -DHAVE_LIBGLUT=1 -DENABLE_GLUT=1 -DENABLE_OPENAL=1 -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DENABLE_OPENGL=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -DRESOURCEPATH=\"/usr/share/komposter/\" -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/komposter-0+git20201216+ds1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -O3 -fcx-limited-range -ffinite-math-only -fno-math-errno -fno-rounding-math -fno-signaling-nans -fno-trapping-math -fgcse-las -fgcse-sm -fsee -fsingle-precision-constant -fomit-frame-pointer -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wno-multichar -Wpacked -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -ftracer -fweb -pipe -Werror-implicit-function-declaration -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/AL -c -o widgets.o widgets.c -filedialog.c: In function 'filedialog_draw': -filedialog.c:126:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 126 | strncpy(tmps, strrchr(fd->g.gl_pathv[i], '/')+1, 255); - | ^ -filedialog.c:126:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] -filedialog.c:114:7: warning: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Wstringop-truncation] - 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); - | ^ -filedialog.c:114:41: note: length computed here - 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~ -filedialog.c:116:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 116 | strncpy(tmps, rindex(ttmps, '/')+1, 255); - | ^ -In file included from pattern.h:18, - from pattern.c:13: +In function 'strncat', + inlined from 'filedialog_keyboard' at filedialog.c:250:7: +/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] + 149 | return __builtin___strncat_chk (__dest, __src, __len, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 150 | __glibc_objsize (__dest)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from synthesizer.h:24, + from patch.h:21: audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 56 | int audio_exportwav(); //char *filename); | ^~~ +In file included from synthesizer.h:29: +dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 16 | int dotfile_load(); + | ^~~ +dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 17 | int dotfile_save(); + | ^~~ +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +In file included from synthesizer.h:31: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ +patch.c: In function 'patch_init': +patch.c:96:6: warning: old-style function definition [-Wold-style-definition] + 96 | void patch_init() + | ^~~~~~~~~~ +patch.c: In function 'patch_mouse_hover': +patch.c:130:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 130 | patch_ui[B_PREV]=hovertest_box(x, y, 310, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:130:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 130 | patch_ui[B_PREV]=hovertest_box(x, y, 310, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:131:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 131 | patch_ui[B_NEXT]=hovertest_box(x, y, 362, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:131:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 131 | patch_ui[B_NEXT]=hovertest_box(x, y, 362, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:132:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 132 | patch_ui[B_PREVSYN]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:132:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 132 | patch_ui[B_PREVSYN]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:133:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 133 | patch_ui[B_NEXTSYN]=hovertest_box(x, y, 230, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:133:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 133 | patch_ui[B_NEXTSYN]=hovertest_box(x, y, 230, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:135:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 135 | patch_ui[B_OCTDN]=hovertest_box(x, y, 17, 520-12, 16, 16); + | ^ +patch.c:135:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 135 | patch_ui[B_OCTDN]=hovertest_box(x, y, 17, 520-12, 16, 16); + | ^ +patch.c:136:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 136 | patch_ui[B_OCTUP]=hovertest_box(x, y, DS_WIDTH-17, 520-12, 16, 16); + | ^ +patch.c:136:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 136 | patch_ui[B_OCTUP]=hovertest_box(x, y, DS_WIDTH-17, 520-12, 16, 16); + | ^ +patch.c:139:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 139 | patch_ui[B_COPY]=hovertest_box(x, y, 622, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:139:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 139 | patch_ui[B_COPY]=hovertest_box(x, y, 622, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:140:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 140 | patch_ui[B_PASTE]=hovertest_box(x, y, 644, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:140:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 140 | patch_ui[B_PASTE]=hovertest_box(x, y, 644, DS_HEIGHT-14, 16, 16); + | ^ +patch.c:145:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 145 | patch_ui[B_PATCHNAME]|=hovertest_box(x, y, 472, DS_HEIGHT-14, 16, 180); + | ^ +patch.c:145:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 145 | patch_ui[B_PATCHNAME]|=hovertest_box(x, y, 472, DS_HEIGHT-14, 16, 180); + | ^ +patch.c:174:7: warning: switch missing default case [-Wswitch-default] + 174 | switch (key) { + | ^~~~~~ +patch.c: In function 'patch_mouse_drag': +patch.c:201:27: warning: unused parameter 'x' [-Wunused-parameter] + 201 | void patch_mouse_drag(int x, int y) + | ~~~~^ +patch.c:201:34: warning: unused parameter 'y' [-Wunused-parameter] + 201 | void patch_mouse_drag(int x, int y) + | ~~~~^ +patch.c: In function 'patch_mouse_click': +patch.c:217:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] + 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; + | ^~ +patch.c:217:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' + 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; + | ^~~~~~ +patch.c:260:22: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 260 | console_post("Patch copied to clipboard"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from pattern.h:19, + from buffermm.h:17, + from synthesizer.h:25: +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +patch.c:273:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 273 | console_post("Patch pasted from clipboard"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +patch.c:336:76: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 336 | patch_modulator_floatval=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][cpatch[csynth]][ mi ]); + | ~~~~~~~~~~~~~~~^~~~~~ +patch.c:341:42: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 341 | patch_modulator_intval=modvalue[ csynth ][cpatch[csynth]][ mi ]; + | ^~~~~~~~ +patch.c:334:15: warning: switch missing default case [-Wswitch-default] + 334 | switch(modModulatorTypes[mod[csynth][mi].type]) { + | ^~~~~~ +patch.c:344:27: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); + | ^~~~~~~~~~~~~~~~~~~~~ +In file included from synthesizer.h:28: +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ +patch.c:344:50: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); + | ^~~~~~~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +patch.c:344:74: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 344 | dialog_open(&patch_draw_modulator, &patch_modulator_hover, &patch_modulator_click); + | ^~~~~~~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +patch.c:345:35: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 345 | dialog_bindkeyboard(&patch_modulator_keyboard); + | ^~~~~~~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ +patch.c:346:34: warning: ISO C forbids passing argument 1 of 'dialog_bindspecial' between function pointer and 'void *' [-Wpedantic] + 346 | dialog_bindspecial(&patch_modulator_special); + | ^~~~~~~~~~~~~~~~~~~~~~~~ +dialog.h:24:31: note: expected 'void *' but argument is of type 'void (*)(int, int, int)' + 24 | void dialog_bindspecial(void *specialfunc); + | ~~~~~~^~~~~~~~~~~ +patch.c:351:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 351 | console_post("No settings for this module!"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +patch.c: In function 'patch_keyboard': +patch.c:378:3: warning: switch missing default case [-Wswitch-default] + 378 | switch (key) { + | ^~~~~~ +patch.c:367:44: warning: unused parameter 'x' [-Wunused-parameter] + 367 | void patch_keyboard(unsigned char key, int x, int y) + | ~~~~^ +patch.c:367:51: warning: unused parameter 'y' [-Wunused-parameter] + 367 | void patch_keyboard(unsigned char key, int x, int y) + | ~~~~^ +patch.c: In function 'patch_keyboardup': +patch.c:401:46: warning: unused parameter 'x' [-Wunused-parameter] + 401 | void patch_keyboardup(unsigned char key, int x, int y) + | ~~~~^ +patch.c:401:53: warning: unused parameter 'y' [-Wunused-parameter] + 401 | void patch_keyboardup(unsigned char key, int x, int y) + | ~~~~^ +patch.c: In function 'patch_specialkey': +patch.c:419:3: warning: switch missing default case [-Wswitch-default] + 419 | switch(key) + | ^~~~~~ +patch.c:417:46: warning: unused parameter 'x' [-Wunused-parameter] + 417 | void patch_specialkey(unsigned char key, int x, int y) + | ~~~~^ +patch.c:417:53: warning: unused parameter 'y' [-Wunused-parameter] + 417 | void patch_specialkey(unsigned char key, int x, int y) + | ~~~~^ +patch.c: In function 'patch_draw': +patch.c:460:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 460 | glVertex2f(x+16, 8+m*16-yd); + | ~^~~ +patch.c:460:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 460 | glVertex2f(x+16, 8+m*16-yd); + | ~~~~~~^~~ +patch.c:461:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 461 | glVertex2f(x+380, 8+m*16-yd); + | ~^~~~ +patch.c:461:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 461 | glVertex2f(x+380, 8+m*16-yd); + | ~~~~~~^~~ +patch.c:462:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 462 | glVertex2f(x+380, 24+m*16-yd); + | ~^~~~ +patch.c:462:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 462 | glVertex2f(x+380, 24+m*16-yd); + | ~~~~~~~^~~ +patch.c:463:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 463 | glVertex2f(x+16, 24+m*16-yd); + | ~^~~ +patch.c:463:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 463 | glVertex2f(x+16, 24+m*16-yd); + | ~~~~~~~^~~ +patch.c:467:51: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 467 | sprintf(tmps, "%02d", mi); render_text(tmps, x+20, 20+mm*16-yd, 2, 0xff505050, 0); + | ~^~~ +patch.c:467:64: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 467 | sprintf(tmps, "%02d", mi); render_text(tmps, x+20, 20+mm*16-yd, 2, 0xff505050, 0); + | ~~~~~~~~^~~ +patch.c:468:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 468 | sprintf(tmps, "%s", modTypeNames[mod[csynth][mi].type]); render_text(tmps, x+44, 20+mm*16-yd, 2, 0xffc0c0c0, 0); + | ~^~~ +patch.c:468:94: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 468 | sprintf(tmps, "%s", modTypeNames[mod[csynth][mi].type]); render_text(tmps, x+44, 20+mm*16-yd, 2, 0xffc0c0c0, 0); + | ~~~~~~~~^~~ +patch.c:476:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 476 | render_text(tmps, x+110, 20+mm*16-yd, 2, 0xff808080, 0); + | ~^~~~ +patch.c:476:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 476 | render_text(tmps, x+110, 20+mm*16-yd, 2, 0xff808080, 0); + | ~~~~~~~~^~~ +patch.c:483:45: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 483 | f=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][ cpatch[csynth] ][ mi ]); + | ~~~~~~~~~~~~~~~^~~~~~ +patch.c:478:5: warning: switch missing default case [-Wswitch-default] + 478 | switch(modModulatorTypes[mod[csynth][mi].type]) + | ^~~~~~ +patch.c:496:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 496 | render_text(tmps, x+250, 20+mm*16-yd, 2, 0xffc0c0c0, 0); + | ~^~~~ +patch.c:496:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 496 | render_text(tmps, x+250, 20+mm*16-yd, 2, 0xffc0c0c0, 0); + | ~~~~~~~~^~~ +patch.c:506:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 506 | draw_kbhoct(PIANO_LEFT+m*16*7, PIANO_TOP, 16, 70, m, cpkey, rkdown, &pianokeys[(m-coct)*12]); + | ^ +patch.c:508:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 508 | draw_kbhoct(PIANO_LEFT+m*16*7, PIANO_TOP, 16, 70, m, cpkey, rkdown, NULL); + | ^ +patch.c:513:31: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 513 | draw_button(17, 520-12, 16, "-", patch_ui[B_OCTDN]); + | ^~~ +In file included from pattern.h:22: +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:514:40: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 514 | draw_button(DS_WIDTH-17, 520-12, 16, "+", patch_ui[B_OCTUP]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:519:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 519 | draw_button(622, DS_HEIGHT-14, 16, "C", patch_ui[B_COPY]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:520:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 520 | draw_button(644, DS_HEIGHT-14, 16, "V", patch_ui[B_PASTE]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:529:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 529 | draw_button(310, DS_HEIGHT-14, 16, "<<", patch_ui[B_PREV]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:532:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 532 | draw_button(362, DS_HEIGHT-14, 16, ">>", patch_ui[B_NEXT]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:534:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 534 | draw_button(14, DS_HEIGHT-14, 16, "<<", patch_ui[B_PREVSYN]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:537:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 537 | draw_button(230, DS_HEIGHT-14, 16, ">>", patch_ui[B_NEXTSYN]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c: In function 'patch_draw_modulator': +patch.c:558:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 558 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 120, 226, "", 0); + | ^~ +widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' + 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); + | ~~~~~~^~~~~ +patch.c:568:53: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 568 | draw_button((DS_WIDTH/2)+96, (DS_HEIGHT/2)+2, 16, "+", modulator_ui[B_MOD_ADDPREC]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ In file included from sequencer.h:18, from sequencer.c:13: audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 56 | int audio_exportwav(); //char *filename); | ^~~ +patch.c:569:53: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 569 | draw_button((DS_WIDTH/2)-28, (DS_HEIGHT/2)+2, 16, "-", modulator_ui[B_MOD_DECPREC]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +patch.c:574:42: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 574 | rf=knob_scale2float(mod[csynth][mi].scale, rf); + | ~~~~~~~~~~~~~~~^~~~~~ In file included from buffermm.h:16, from sequencer.h:19: modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ +patch.c:579:41: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 579 | f=knob_float2scale(mod[csynth][mi].scale, rf); + | ~~~~~~~~~~~~~~~^~~~~~ +patch.c: In function 'patch_modulator_hover': In file included from widgets.h:23, from pattern.h:22: modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ +patch.c:596:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 596 | modulator_ui[B_MOD_ADDPREC]=hovertest_box(x, y, (DS_WIDTH/2)+96, (DS_HEIGHT/2)+2, 16, 16); + | ^ +patch.c:596:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 596 | modulator_ui[B_MOD_ADDPREC]=hovertest_box(x, y, (DS_WIDTH/2)+96, (DS_HEIGHT/2)+2, 16, 16); + | ^ +patch.c:597:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 597 | modulator_ui[B_MOD_DECPREC]=hovertest_box(x, y, (DS_WIDTH/2)-28, (DS_HEIGHT/2)+2 , 16, 16); + | ^ pattern.c: In function 'pattern_init': pattern.c:100:6: warning: old-style function definition [-Wold-style-definition] 100 | void pattern_init() | ^~~~~~~~~~~~ +patch.c:597:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 597 | modulator_ui[B_MOD_DECPREC]=hovertest_box(x, y, (DS_WIDTH/2)-28, (DS_HEIGHT/2)+2 , 16, 16); + | ^ pattern.c: At top level: pattern.c:119:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] 119 | void pattern_toggleplayback() | ^~~~~~~~~~~~~~~~~~~~~~ pattern.c: In function 'pattern_toggleplayback': pattern.c:119:6: warning: old-style function definition [-Wold-style-definition] +patch.c:600:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 600 | modulator_ui[B_MOD_VALUE]|=hovertest_box(x, y, (DS_WIDTH/2)+34, (DS_HEIGHT/2)-20, 16, 140); + | ^ pattern.c: At top level: pattern.c:140:5: warning: no previous prototype for 'pattern_cursorpos' [-Wmissing-prototypes] 140 | int pattern_cursorpos(int x, int y, int *note) | ^~~~~~~~~~~~~~~~~ pattern.c: In function 'pattern_cursorpos': +patch.c:600:47: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 600 | modulator_ui[B_MOD_VALUE]|=hovertest_box(x, y, (DS_WIDTH/2)+34, (DS_HEIGHT/2)-20, 16, 140); + | ^ pattern.c:46:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 46 | #define PIANOROLL_OCTAVES 6 | ^ pattern.c:148:16: note: in expansion of macro 'PIANOROLL_OCTAVES' 148 | lineheight=PIANOROLL_OCTAVES*12 - (((coct+PIANOROLL_OCTAVES)*12)-MAX_NOTE); | ^~~~~~~~~~~~~~~~~ +patch.c: In function 'patch_modulator_click': pattern.c:153:41: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 153 | x < (PIANOROLL_X + (pattlen[cpatt]*(beats_per_measure*beatdiv))*PIANOROLL_CELLWIDTH + 1) && | ^ +patch.c:609:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 609 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),120,226 )) { + | ^ pattern.c:153:24: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] 153 | x < (PIANOROLL_X + (pattlen[cpatt]*(beats_per_measure*beatdiv))*PIANOROLL_CELLWIDTH + 1) && | ^ +patch.c:609:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 609 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),120,226 )) { + | ^ pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 37 | #define PIANOROLL_X KB_WIDTH+5.5 | ^ @@ -3221,6 +3224,9 @@ pattern.c:159:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] 159 | cy=abs((int)((y-PIANOROLL_Y-2)/PIANOROLL_CELLHEIGHT)); | ^ +patch.c:616:50: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 616 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),120,226 )) { + | ^ pattern.c: In function 'pattern_mouse_hover': pattern.c:171:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 171 | patt_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); @@ -3228,6 +3234,9 @@ pattern.c:171:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 171 | patt_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); | ^ +patch.c:616:52: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 616 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),120,226 )) { + | ^ pattern.c:172:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 172 | patt_ui[B_NEXT]=hovertest_box(x, y, 64, DS_HEIGHT-14, 16, 16); | ^ @@ -3240,6 +3249,9 @@ pattern.c:173:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 173 | patt_ui[B_SHORTER]=hovertest_box(x, y, 98, DS_HEIGHT-14, 16, 16); | ^ +patch.c:622:45: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 622 | f=knob_scale2float(mod[csynth][mi].scale, f); + | ~~~~~~~~~~~~~~~^~~~~~ pattern.c:174:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 174 | patt_ui[B_LONGER]=hovertest_box(x, y, 180, DS_HEIGHT-14, 16, 16); | ^ @@ -3252,6 +3264,9 @@ pattern.c:175:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 175 | patt_ui[B_OCTDN]=hovertest_box(x, y, 12, PIANOROLL_Y+16, 16, 16); | ^ +patch.c:618:5: warning: switch missing default case [-Wswitch-default] + 618 | switch(modModulatorTypes[mod[csynth][mi].type]) { + | ^~~~~~ pattern.c:176:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 176 | patt_ui[B_OCTUP]=hovertest_box(x, y, 32, PIANOROLL_Y+16, 16, 16); | ^ @@ -3264,6 +3279,9 @@ pattern.c:177:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 177 | patt_ui[B_PREVSYN]=hovertest_box(x, y, 214, DS_HEIGHT-14, 16, 16); | ^ +patch.c:643:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] + 643 | if (modquantifier[ csynth ][cpatch[csynth]][ mi ]<32) modquantifier[ csynth ][cpatch[csynth]][ mi ]++; return; + | ^~ pattern.c:178:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 178 | patt_ui[B_NEXTSYN]=hovertest_box(x, y, 430, DS_HEIGHT-14, 16, 16); | ^ @@ -3276,6 +3294,9 @@ pattern.c:180:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 180 | patt_ui[B_PATTCLEAR]=hovertest_box(x, y, 555, DS_HEIGHT-14, 16, 16) | (patt_ui[B_PATTCLEAR]&8); | ^ +patch.c:643:112: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' + 643 | if (modquantifier[ csynth ][cpatch[csynth]][ mi ]<32) modquantifier[ csynth ][cpatch[csynth]][ mi ]++; return; + | ^~~~~~ pattern.c:182:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 182 | patt_ui[B_COPY]=hovertest_box(x,y,622, DS_HEIGHT-14, 16, 16); | ^ @@ -3288,6 +3309,9 @@ pattern.c:183:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 183 | patt_ui[B_PASTE]=hovertest_box(x,y,644, DS_HEIGHT-14, 16, 16); | ^ +patch.c:647:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] + 647 | if (modquantifier[ csynth ][cpatch[csynth]][ mi ]>12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; + | ^~ pattern.c:186:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 186 | patt_ui[B_PATTPLAY]=hovertest_box(x, y, 482, DS_HEIGHT-14, 16, 42); | ^ @@ -3297,18 +3321,25 @@ pattern.c:195:79: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 195 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, pattlen[cpatt]*(beats_per_measure*beatdiv)); | ^ +patch.c:647:112: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' + 647 | if (modquantifier[ csynth ][cpatch[csynth]][ mi ]>12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; + | ^~~~~~ pattern.c:194:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 194 | slide_hover=hovertest_hslider(x,y,PIANOROLL_X, PIANOROLL_Y+12, (DS_WIDTH-(PIANOROLL_X+6)), 12, | ^ pattern.c:194:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 194 | slide_hover=hovertest_hslider(x,y,PIANOROLL_X, PIANOROLL_Y+12, (DS_WIDTH-(PIANOROLL_X+6)), 12, | ^ +patch.c: In function 'patch_modulator_special': pattern.c:195:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] 195 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, pattlen[cpatt]*(beats_per_measure*beatdiv)); | ^~~~~~~~~~~ pattern.c:195:79: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] 195 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, pattlen[cpatt]*(beats_per_measure*beatdiv)); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +patch.c:674:39: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 674 | f=knob_float2scale(mod[csynth][mi].scale, modvalue[ csynth ][cpatch[csynth]][ mi ]); + | ~~~~~~~~~~~~~~~^~~~~~ pattern.c: In function 'pattern_mouse_drag': pattern.c:218:23: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 218 | cip=pattlen[cpatt]*(beats_per_measure*beatdiv); // cells in pattern @@ -3331,10 +3362,19 @@ pattern.c:228:7: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 228 | n=pattdata[cpatt][piano_start+piano_porta_drag]; // current note being dragged | ^~~~~~~~ +patch.c:713:78: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 713 | modvalue[ csynth ][cpatch[csynth]][ mi ]=knob_scale2float(mod[csynth][mi].scale, f); + | ~~~~~~~~~~~~~~~^~~~~~ pattern.c: In function 'pattern_mouse_click': +patch.c:662:43: warning: unused parameter 'x' [-Wunused-parameter] + 662 | void patch_modulator_special(int key, int x, int y) + | ~~~~^ pattern.c:254:41: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 254 | if (piano_hover>=0 && piano_note==(pattdata[cpatt][piano_start+piano_hover]&0xff)) { | ^~ +patch.c:662:50: warning: unused parameter 'y' [-Wunused-parameter] + 662 | void patch_modulator_special(int key, int x, int y) + | ~~~~^ pattern.c:272:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 272 | console_post("Click again to clear pattern"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -3342,45 +3382,67 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ +patch.c: In function 'patch_modulator_keyboard': pattern.c:289:36: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 289 | for(i=((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i<(pattlen[cpatt]*(beats_per_measure*beatdiv)); i++) pattdata[cpatt][i]=0; | ^ pattern.c:289:20: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 289 | for(i=((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i<(pattlen[cpatt]*(beats_per_measure*beatdiv)); i++) pattdata[cpatt][i]=0; | ^ +patch.c:739:45: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 739 | f=knob_scale2float(mod[csynth][mi].scale, f); + | ~~~~~~~~~~~~~~~^~~~~~ pattern.c:289:87: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 289 | for(i=((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i<(pattlen[cpatt]*(beats_per_measure*beatdiv)); i++) pattdata[cpatt][i]=0; | ^ pattern.c:289:71: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 289 | for(i=((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i<(pattlen[cpatt]*(beats_per_measure*beatdiv)); i++) pattdata[cpatt][i]=0; | ^ +patch.c:735:5: warning: switch missing default case [-Wswitch-default] + 735 | switch(modModulatorTypes[mod[csynth][mi].type]) { + | ^~~~~~ pattern.c:295:31: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 295 | ( 1+pattlen[cpatt]*(beats_per_measure*beatdiv) - ( (DS_WIDTH-(PIANOROLL_X))/PIANOROLL_CELLWIDTH ) ) ) piano_start--; | ^ pattern.c:295:60: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] 295 | ( 1+pattlen[cpatt]*(beats_per_measure*beatdiv) - ( (DS_WIDTH-(PIANOROLL_X))/PIANOROLL_CELLWIDTH ) ) ) piano_start--; | ^ +patch.c:718:54: warning: unused parameter 'x' [-Wunused-parameter] + 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) + | ~~~~^ pattern.c:308:40: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 308 | for(i=0; i<((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i++) pattdata[cpatt][i+((pattlen[cpatt]*(beats_per_measure*beatdiv))/2)]=pattdata[cpatt][i]; | ^ pattern.c:308:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 308 | for(i=0; i<((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i++) pattdata[cpatt][i+((pattlen[cpatt]*(beats_per_measure*beatdiv))/2)]=pattdata[cpatt][i]; | ^ +patch.c:718:61: warning: unused parameter 'y' [-Wunused-parameter] + 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) + | ~~~~^ pattern.c:308:113: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 308 | for(i=0; i<((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i++) pattdata[cpatt][i+((pattlen[cpatt]*(beats_per_measure*beatdiv))/2)]=pattdata[cpatt][i]; | ^ +patch.c: In function 'knob_scale2float': pattern.c:308:96: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 308 | for(i=0; i<((pattlen[cpatt]*(beats_per_measure*beatdiv))/2); i++) pattdata[cpatt][i+((pattlen[cpatt]*(beats_per_measure*beatdiv))/2)]=pattdata[cpatt][i]; | ^ +patch.c:770:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 770 | case SCALE_FREQUENCY_TEMPO: return (value*bpm)/(60*OUTPUTFREQ); + | ^ pattern.c:328:34: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 328 | for(i=0; ig.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); - | ^ pattern.c:541:117: warning: conversion from 'int' to 'float' may change value [-Wconversion] 541 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); | ^ -filedialog.c:203:69: note: length computed here - 203 | strncpy(ttmps, fd->g.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -filedialog.c:205:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 205 | strncpy(tmps, rindex(ttmps, '/')+1, 255); - | ^ pattern.c:46:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 46 | #define PIANOROLL_OCTAVES 6 | ^ @@ -3509,9 +3583,6 @@ pattern.c:553:26: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 553 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv)+1);i++,j++) { | ^ -filedialog.c:226:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 226 | strncpy(fd->fname, strrchr(fd->g.gl_pathv[fd->sliderpos+fd->listhover], '/')+1, 255); - | ^ pattern.c:560:38: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 560 | if ((j%b)==0 && j<(pattlen[cpatt]*b)) { | ^ @@ -3524,9 +3595,6 @@ pattern.c:569:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 569 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y+PIANOROLL_CELLHEIGHT)); | ^ -filedialog.c:180:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] - 180 | strncat(fd->fullpath, fd->fmask+1, 512); - | ^ pattern.c:570:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 570 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y-lineheight)); //(PIANOROLL_OCTAVES*12)*PIANOROLL_CELLHEIGHT))); | ^ @@ -3563,29 +3631,18 @@ pattern.c:599:24: note: in expansion of macro 'PIANOROLL_X' 599 | glVertex2f(l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^~~~~~~~~~~ -In function 'strncat', - inlined from 'filedialog_click' at filedialog.c:177:5: pattern.c:599:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 599 | glVertex2f(l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ -/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] - 149 | return __builtin___strncat_chk (__dest, __src, __len, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 150 | __glibc_objsize (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ -In function 'strncat', - inlined from 'filedialog_click' at filedialog.c:180:7: -/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] - 149 | return __builtin___strncat_chk (__dest, __src, __len, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 150 | __glibc_objsize (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ pattern.c:599:72: warning: conversion from 'int' to 'float' may change value [-Wconversion] 599 | glVertex2f(l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ pattern.c:600:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 600 | glVertex2f(PIANOROLL_X+(i+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ +shader.c:43:8: warning: no previous prototype for 'loadshader' [-Wmissing-prototypes] + 43 | GLuint loadshader(char *fname, GLuint type) + | ^~~~~~~~~~ pattern.c:600:74: warning: conversion from 'int' to 'float' may change value [-Wconversion] 600 | glVertex2f(PIANOROLL_X+(i+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ @@ -3595,16 +3652,16 @@ pattern.c:601:72: warning: conversion from 'int' to 'float' may change value [-Wconversion] 601 | glVertex2f(PIANOROLL_X+(i+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ +shader.c: In function 'loadshader': +shader.c:53:3: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result] + 53 | fread(temp, 1, 65536, f); + | ^~~~~~~~~~~~~~~~~~~~~~~~ pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 37 | #define PIANOROLL_X KB_WIDTH+5.5 | ^ pattern.c:602:24: note: in expansion of macro 'PIANOROLL_X' 602 | glVertex2f(l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^~~~~~~~~~~ -shader.c:43:8: warning: no previous prototype for 'loadshader' [-Wmissing-prototypes] - 43 | GLuint loadshader(char *fname, GLuint type) - | ^~~~~~~~~~ -shader.c: In function 'loadshader': pattern.c:602:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 602 | glVertex2f(l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ @@ -3647,9 +3704,6 @@ pattern.c:635:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] 635 | glVertex2f(PIANOROLL_X+(j+l)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ -shader.c:53:3: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result] - 53 | fread(temp, 1, 65536, f); - | ^~~~~~~~~~~~~~~~~~~~~~~~ pattern.c:636:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 636 | glVertex2f(PIANOROLL_X+(j+l)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ @@ -3680,42 +3734,21 @@ pattern.c:650:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 650 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ -In file included from synthesizer.h:29, - from buffermm.h:18: -dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 16 | int dotfile_load(); - | ^~~ pattern.c:650:100: warning: conversion from 'int' to 'float' may change value [-Wconversion] 650 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ pattern.c:651:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 651 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ -dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 17 | int dotfile_save(); - | ^~~ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ pattern.c:651:79: warning: conversion from 'int' to 'float' may change value [-Wconversion] 651 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ -In file included from synthesizer.h:31: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ pattern.c:653:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 653 | if (piano_porta_drag_from != pattdata[cpatt][piano_start+piano_porta_drag]) { | ^~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ pattern.c:657:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] 657 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ pattern.c:657:83: warning: conversion from 'int' to 'float' may change value [-Wconversion] 657 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); | ^ @@ -3734,6 +3767,178 @@ pattern.c:660:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] 660 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); | ^ +pattern.c:660:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 660 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:667:7: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 667 | n=pattdata[cpatt][piano_start+piano_drag]; + | ^~~~~~~~ +pattern.c:670:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 670 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:670:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 670 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:671:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 671 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:671:79: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 671 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:672:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 672 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:672:77: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 672 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:673:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 673 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:673:73: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 673 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:683:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 683 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:685:49: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:685:77: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:685:33: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:686:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 686 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:688:49: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:688:77: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:688:33: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, + | ^ +pattern.c:689:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 689 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:692:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 692 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +pattern.c:700:18: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), + | ^ +pattern.c:699:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 699 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, + | ^~~~~~~~~~~ +pattern.c:700:18: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), + | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +pattern.c:704:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 704 | draw_button(14, DS_HEIGHT-14, 16, "<<", patt_ui[B_PREV]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:707:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 707 | draw_button(64, DS_HEIGHT-14, 16, ">>", patt_ui[B_NEXT]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:709:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 709 | draw_button(98, DS_HEIGHT-14, 16, "<<", patt_ui[B_SHORTER]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:712:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 712 | draw_button(180, DS_HEIGHT-14, 16, ">>", patt_ui[B_LONGER]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:714:41: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 714 | draw_button(12, PIANOROLL_Y+15.5, 16, "DN", patt_ui[B_OCTDN]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:715:41: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 715 | draw_button(32, PIANOROLL_Y+15.5, 16, "UP", patt_ui[B_OCTUP]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:717:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 717 | draw_button(214, DS_HEIGHT-14, 16, "<<", patt_ui[B_PREVSYN]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:720:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 720 | draw_button(430, DS_HEIGHT-14, 16, ">>", patt_ui[B_NEXTSYN]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:722:17: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 722 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); + | ^ +pattern.c:722:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] + 722 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); + | ^~~~~~~ +pattern.c:730:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 730 | draw_button(555, DS_HEIGHT-14, 16, "X", patt_ui[B_PATTCLEAR]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:732:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 732 | draw_button(622, DS_HEIGHT-14, 16, "C", patt_ui[B_COPY]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +pattern.c:733:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 733 | draw_button(644, DS_HEIGHT-14, 16, "V", patt_ui[B_PASTE]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +In file included from synthesizer.h:29, + from buffermm.h:18: +dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 16 | int dotfile_load(); + | ^~~ +dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 17 | int dotfile_save(); + | ^~~ +In file included from synthesizer.h:24, + from synthesizer.c:13: +audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 56 | int audio_exportwav(); //char *filename); + | ^~~ +In file included from buffermm.h:16, + from synthesizer.h:25: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +In file included from synthesizer.h:31: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 33 | void sequencer_init(); | ^~~~ @@ -3743,12 +3948,6 @@ sequencer.c:171:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] 171 | void sequencer_init() | ^~~~~~~~~~~~~~ -pattern.c:660:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 660 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ -pattern.c:667:7: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] - 667 | n=pattdata[cpatt][piano_start+piano_drag]; - | ^~~~~~~~ sequencer.c: In function 'sequencer_init': sequencer.c:171:6: warning: old-style function definition [-Wold-style-definition] sequencer.c: At top level: @@ -3761,9 +3960,6 @@ sequencer.c:265:69: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 265 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { | ^ -pattern.c:670:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 670 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:265:41: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 265 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { | ^ @@ -3784,9 +3980,6 @@ sequencer.c:298:5: warning: no previous prototype for 'sequencer_cursorpos' [-Wmissing-prototypes] 298 | int sequencer_cursorpos(int x, int y, int *channel, int *measure) | ^~~~~~~~~~~~~~~~~~~ -pattern.c:670:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 670 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c: In function 'sequencer_cursorpos': sequencer.c:304:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 304 | x < (SEQUENCER_X + seqsonglen*SEQUENCER_CELLWIDTH + 1) && @@ -3794,9 +3987,6 @@ sequencer.c:306:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 306 | y < (SEQUENCER_Y + seqch*SEQUENCER_CELLHEIGHT) | ^ -pattern.c:671:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 671 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:309:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 309 | cx=(int)((x-SEQUENCER_X)/SEQUENCER_CELLWIDTH); | ^ @@ -3812,9 +4002,6 @@ sequencer.c:320:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 320 | y < (SEQUENCER_Y + (seqch+3)*SEQUENCER_CELLHEIGHT) | ^ -pattern.c:671:79: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 671 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:323:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 323 | cx=(int)((x-SEQUENCER_X)/SEQUENCER_CELLWIDTH); | ^ @@ -3823,33 +4010,22 @@ 333 | int sequencer_timelinepos(int x, int y) { | ^~~~~~~~~~~~~~~~~~~~~ sequencer.c: In function 'sequencer_timelinepos': -pattern.c:672:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 672 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ -pattern.c:672:77: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 672 | glVertex2f(PIANOROLL_X+(piano_dragto+1)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:337:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 337 | x < (SEQUENCER_X + seqsonglen*SEQUENCER_CELLWIDTH + 1) && | ^ -pattern.c:673:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 673 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ +In file included from synthesizer.h:29: +dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 16 | int dotfile_load(); + | ^~~ +dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 17 | int dotfile_save(); + | ^~~ sequencer.c:338:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 338 | y > (SEQUENCER_Y + (seqch+3)*SEQUENCER_CELLHEIGHT) && | ^ -pattern.c:673:73: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 673 | glVertex2f(1+PIANOROLL_X+piano_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ -pattern.c:683:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 683 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:339:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 339 | y < (SEQUENCER_Y + (seqch+4)*SEQUENCER_CELLHEIGHT+4) | ^ -pattern.c:685:49: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ sequencer.c:341:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] 341 | return (int)((x-SEQUENCER_X)/SEQUENCER_CELLWIDTH); | ^ @@ -3860,9 +4036,6 @@ sequencer.c:351:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 351 | seq_ui[B_DECCH]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); | ^ -pattern.c:685:77: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ sequencer.c:352:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 352 | seq_ui[B_ADDCH]=hovertest_box(x, y, 80, DS_HEIGHT-14, 16, 16); | ^ @@ -3875,45 +4048,40 @@ sequencer.c:357:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 357 | seq_ui[B_BPM]=hovertest_box(x, y, 151, DS_HEIGHT-14, 16, 46); | ^ -pattern.c:685:33: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] - 685 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ sequencer.c:358:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 358 | seq_ui[B_SSHORTER]=hovertest_box(x, y, 222, DS_HEIGHT-14, 16, 16); | ^ +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ sequencer.c:358:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 358 | seq_ui[B_SSHORTER]=hovertest_box(x, y, 222, DS_HEIGHT-14, 16, 16); | ^ sequencer.c:359:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 359 | seq_ui[B_SLONGER]=hovertest_box(x, y, 304, DS_HEIGHT-14, 16, 16); | ^ +In file included from synthesizer.h:31: +fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' + 62 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ sequencer.c:359:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 359 | seq_ui[B_SLONGER]=hovertest_box(x, y, 304, DS_HEIGHT-14, 16, 16); | ^ +synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] + 85 | int synth_trace(int syn, int pm, int fifo); + | ^~~~~~~~~~~ +fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' + 63 | int synth_trace(int syn, int pm, int top); + | ^~~~~~~~~~~ sequencer.c:361:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 361 | seq_ui[B_SAVE_SONG]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); | ^ -pattern.c:686:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 686 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ -pattern.c:688:49: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ -pattern.c:688:77: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ -pattern.c:688:33: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] - 688 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, - | ^ sequencer.c:361:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] 361 | seq_ui[B_SAVE_SONG]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); | ^ sequencer.c:362:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 362 | seq_ui[B_LOAD_SONG]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); | ^ -pattern.c:689:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 689 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:362:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] 362 | seq_ui[B_LOAD_SONG]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); | ^ @@ -3932,9 +4100,6 @@ sequencer.c:367:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 367 | seq_ui[B_NEWSONG]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (seq_ui[B_NEWSONG]&8); | ^ -pattern.c:692:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 692 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ sequencer.c:367:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 367 | seq_ui[B_NEWSONG]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (seq_ui[B_NEWSONG]&8); | ^ @@ -3950,27 +4115,18 @@ sequencer.c:373:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 373 | seq_ui[B_RENDER]=hovertest_box(x, y, 578, DS_HEIGHT-14, 16, 42); | ^ -pattern.c:700:18: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), - | ^ sequencer.c:378:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 378 | seq_ui[B_SEQPLAY]|=hovertest_box(x, y, 526, DS_HEIGHT-14, 16, 42); | ^ sequencer.c:378:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 378 | seq_ui[B_SEQPLAY]|=hovertest_box(x, y, 526, DS_HEIGHT-14, 16, 42); | ^ -pattern.c:699:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 699 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, - | ^~~~~~~~~~~ sequencer.c:381:64: warning: conversion from 'int' to 'float' may change value [-Wconversion] 381 | seqslide_hover=hovertest_hslider(x,y,SEQUENCER_X, SEQUENCER_Y+(seqch+5)*SEQUENCER_CELLHEIGHT, (DS_WIDTH-(SEQUENCER_X+6)), 12, | ^ sequencer.c:381:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 381 | seqslide_hover=hovertest_hslider(x,y,SEQUENCER_X, SEQUENCER_Y+(seqch+5)*SEQUENCER_CELLHEIGHT, (DS_WIDTH-(SEQUENCER_X+6)), 12, | ^ -pattern.c:700:18: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] - 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), - | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:381:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 381 | seqslide_hover=hovertest_hslider(x,y,SEQUENCER_X, SEQUENCER_Y+(seqch+5)*SEQUENCER_CELLHEIGHT, (DS_WIDTH-(SEQUENCER_X+6)), 12, | ^ @@ -3980,101 +4136,55 @@ sequencer.c:382:63: warning: conversion from 'int' to 'float' may change value [-Wconversion] 382 | seq_start, (DS_WIDTH-(SEQUENCER_X+4))/SEQUENCER_CELLWIDTH, seqsonglen); | ^~~~~~~~~~ +synthesizer.c: In function 'hovertest_output': sequencer.c:393:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 393 | y < (SEQUENCER_Y + (seqch+3)*SEQUENCER_CELLHEIGHT) | ^ +synthesizer.c:178:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 178 | xd=x-(list[m].x+MODULE_HALF); + | ^ sequencer.c:396:15: warning: conversion from 'int' to 'float' may change value [-Wconversion] 396 | m=(int)((y-SEQUENCER_Y)/SEQUENCER_CELLHEIGHT); | ^ +synthesizer.c:179:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 179 | yd=y-(list[m].y+OUTPUT_OFFSET); + | ^ sequencer.c: In function 'sequencer_mouse_drag': sequencer.c:412:9: warning: conversion from 'int' to 'float' may change value [-Wconversion] 412 | cip=seqsonglen; //pattlen[cpatt]*16; // cells in pattern | ^~~~~~~~~~ +synthesizer.c:180:9: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 180 | d=sqrt(xd*xd+yd*yd); + | ^~~~ sequencer.c:414:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] 414 | f=((x-seqslide_drag_xofs)/(sbw-slw))*(cip-cos); | ^ +synthesizer.c: In function 'hovertest_input': sequencer.c:415:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 415 | seq_start=seqslide_drag_start+f; | ^ +synthesizer.c:189:48: warning: declaration of 'mod' shadows a global declaration [-Wshadow] + 189 | int hovertest_input(int x, int y, synthmodule *mod) + | ~~~~~~~~~~~~~^~~ +synthesizer.c:52:13: note: shadowed declaration is here + 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; + | ^~~ sequencer.c:415:15: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 415 | seq_start=seqslide_drag_start+f; | ^~~~~~~~~~~~~~~~~~~ sequencer.c:416:42: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 416 | if (seq_start>(1+cip-cos)) seq_start=(1+cip-cos); | ^ +synthesizer.c:196:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 196 | xd=x - (mod->x + node_xoffset[ modInputCount[mod->type] ][ n ]); + | ^ +synthesizer.c:197:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 197 | yd=y - (mod->y + node_yoffset[ modInputCount[mod->type] ][ n ]); + | ^ sequencer.c: In function 'sequencer_mouse_click': -pattern.c:704:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 704 | draw_button(14, DS_HEIGHT-14, 16, "<<", patt_ui[B_PREV]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:707:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 707 | draw_button(64, DS_HEIGHT-14, 16, ">>", patt_ui[B_NEXT]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:709:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 709 | draw_button(98, DS_HEIGHT-14, 16, "<<", patt_ui[B_SHORTER]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:712:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 712 | draw_button(180, DS_HEIGHT-14, 16, ">>", patt_ui[B_LONGER]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:714:41: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 714 | draw_button(12, PIANOROLL_Y+15.5, 16, "DN", patt_ui[B_OCTDN]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:715:41: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 715 | draw_button(32, PIANOROLL_Y+15.5, 16, "UP", patt_ui[B_OCTUP]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:717:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 717 | draw_button(214, DS_HEIGHT-14, 16, "<<", patt_ui[B_PREVSYN]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:720:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 720 | draw_button(430, DS_HEIGHT-14, 16, ">>", patt_ui[B_NEXTSYN]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:722:17: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 722 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); - | ^ -pattern.c:722:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] - 722 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); - | ^~~~~~~ -pattern.c:730:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 730 | draw_button(555, DS_HEIGHT-14, 16, "X", patt_ui[B_PATTCLEAR]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:732:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 732 | draw_button(622, DS_HEIGHT-14, 16, "C", patt_ui[B_COPY]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -pattern.c:733:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 733 | draw_button(644, DS_HEIGHT-14, 16, "V", patt_ui[B_PASTE]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ +synthesizer.c:198:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 198 | d=sqrt(xd*xd + yd*yd); + | ^~~~ sequencer.c:458:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 458 | console_post("Song cleared and everything reset back to defaults"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -4089,6 +4199,7 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ +synthesizer.c: At top level: sequencer.c:477:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 477 | dialog_open(&sequencer_draw_bpm, &sequencer_bpm_hover, &sequencer_bpm_click); | ^~~~~~~~~~~~~~~~~~~ @@ -4096,6 +4207,9 @@ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +synthesizer.c:240:6: warning: no previous prototype for 'synth_open_addmodule' [-Wmissing-prototypes] + 240 | void synth_open_addmodule(void) + | ^~~~~~~~~~~~~~~~~~~~ sequencer.c:477:42: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 477 | dialog_open(&sequencer_draw_bpm, &sequencer_bpm_hover, &sequencer_bpm_click); | ^~~~~~~~~~~~~~~~~~~~ @@ -4108,51 +4222,87 @@ dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c: In function 'synth_open_addmodule': sequencer.c:478:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 478 | dialog_bindkeyboard(&sequencer_bpm_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:252:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 252 | tmpmod[m].x=(DS_WIDTH/2)-222 + m*74; + | ^ +synthesizer.c:255:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 255 | tmpmod[m].x=(DS_WIDTH/2)-222 + (m-7)*74; + | ^ sequencer.c:489:35: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 489 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ +synthesizer.c:259:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 259 | tmpmod[m].x=(DS_WIDTH/2)-222 + (m-14)*74; + | ^ sequencer.c:489:18: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 489 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ sequencer.c:489:17: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 489 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ +synthesizer.c:266:15: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); + | ^~~~~~~~~~~~~~~~~~~~~ +In file included from synthesizer.h:28: +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ sequencer.c:502:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 502 | dialog_open(&sequencer_draw_render, &sequencer_render_hover, &sequencer_render_click); | ^~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +synthesizer.c:266:38: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); + | ^~~~~~~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:502:45: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 502 | dialog_open(&sequencer_draw_render, &sequencer_render_hover, &sequencer_render_click); | ^~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:266:62: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); + | ^~~~~~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:502:70: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 502 | dialog_open(&sequencer_draw_render, &sequencer_render_hover, &sequencer_render_click); | ^~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:267:23: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 267 | dialog_bindkeyboard(&synth_addmodule_keyboard); + | ^~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:503:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 503 | dialog_bindkeyboard(&sequencer_render_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ sequencer.c:513:34: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 513 | songdir=dotfile_getvalue("songFileDir"); | ^~~~~~~~~~~~~ dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' 18 | char *dotfile_getvalue(char *key); | ~~~~~~^~~ +synthesizer.c: In function 'synth_mouse_hover': sequencer.c:514:43: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 514 | filedialog_open(&songfd[FD_SAVE], "ksong", songdir); | ^~~~~~~ @@ -4160,18 +4310,27 @@ filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' 58 | void filedialog_open(filedialog *fd, char *ext, char *path); | ~~~~~~^~~ +synthesizer.c:285:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 285 | synth_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); + | ^ sequencer.c:516:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 516 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +synthesizer.c:285:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 285 | synth_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); + | ^ sequencer.c:516:43: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 516 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:286:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 286 | synth_ui[B_NEXT]=hovertest_box(x, y, 64, DS_HEIGHT-14, 16, 16); + | ^ sequencer.c:516:66: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 516 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ @@ -4184,60 +4343,250 @@ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:286:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 286 | synth_ui[B_NEXT]=hovertest_box(x, y, 64, DS_HEIGHT-14, 16, 16); + | ^ sequencer.c:518:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] 518 | dialog_binddrag(&sequencer_file_drag); | ^~~~~~~~~~~~~~~~~~~~ +synthesizer.c:287:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 287 | synth_ui[B_ADD]=hovertest_box (x, y, 310, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:287:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 287 | synth_ui[B_ADD]=hovertest_box (x, y, 310, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:288:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 288 | synth_ui[B_SAVE]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:288:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 288 | synth_ui[B_SAVE]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:289:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 289 | synth_ui[B_LOAD]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:289:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 289 | synth_ui[B_LOAD]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); + | ^ +synthesizer.c:290:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 290 | synth_ui[B_CLEAR]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (synth_ui[B_CLEAR]&8); + | ^ +synthesizer.c:290:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 290 | synth_ui[B_CLEAR]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (synth_ui[B_CLEAR]&8); + | ^ +synthesizer.c:294:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 294 | synth_ui[B_NAME]|=hovertest_box(x, y, 190, DS_HEIGHT-14, 16, 180); + | ^ +synthesizer.c:294:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 294 | synth_ui[B_NAME]|=hovertest_box(x, y, 190, DS_HEIGHT-14, 16, 180); + | ^ +shader.c: In function 'shader_init': +shader.c:75:5: warning: '__builtin_strncpy' output may be truncated copying 511 bytes from a string of length 511 [-Wstringop-truncation] + 75 | strncpy(fullpath, respath, 511); + | ^ +synthesizer.c: In function 'synth_mouse_drag': +synthesizer.c:333:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 333 | mod[csynth][moduledrag].x=x-dragoffset_x; + | ^ +synthesizer.c:334:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 334 | mod[csynth][moduledrag].y=y-dragoffset_y; + | ^ +synthesizer.c: In function 'synth_mouse_click': dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ +synthesizer.c:375:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 375 | console_post("Click again to clear synthesizer"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from pattern.h:19, + from buffermm.h:17: +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ sequencer.c:522:34: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 522 | songdir=dotfile_getvalue("songFileDir"); | ^~~~~~~~~~~~~ dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' 18 | char *dotfile_getvalue(char *key); | ~~~~~~^~~ +synthesizer.c:418:33: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 418 | syndir=dotfile_getvalue("synthFileDir"); + | ^~~~~~~~~~~~~~ +dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' + 18 | char *dotfile_getvalue(char *key); + | ~~~~~~^~~ +synthesizer.c:419:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 419 | filedialog_open(&fd[FD_SAVE], "ksyn", syndir); + | ^~~~~~ +In file included from synthesizer.h:30: +filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' + 58 | void filedialog_open(filedialog *fd, char *ext, char *path); + | ~~~~~~^~~ sequencer.c:523:43: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 523 | filedialog_open(&songfd[FD_LOAD], "ksong", songdir); | ^~~~~~~ filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' 58 | void filedialog_open(filedialog *fd, char *ext, char *path); | ~~~~~~^~~ +synthesizer.c:421:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~ +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ +synthesizer.c:421:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +synthesizer.c:421:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:525:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 525 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~ +synthesizer.c:422:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 422 | dialog_bindkeyboard(&synth_file_keyboard); + | ^~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +synthesizer.c:423:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] + 423 | dialog_binddrag(&synth_file_drag); + | ^~~~~~~~~~~~~~~~ +dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 31 | void dialog_binddrag(void *dragfunc); + | ~~~~~~^~~~~~~~ +synthesizer.c:427:33: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 427 | syndir=dotfile_getvalue("synthFileDir"); + | ^~~~~~~~~~~~~~ +dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' + 18 | char *dotfile_getvalue(char *key); + | ~~~~~~^~~ sequencer.c:525:43: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 525 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:428:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 428 | filedialog_open(&fd[FD_LOAD], "ksyn", syndir); + | ^~~~~~ +filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' + 58 | void filedialog_open(filedialog *fd, char *ext, char *path); + | ~~~~~~^~~ +synthesizer.c:430:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~ +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ +synthesizer.c:430:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:525:66: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 525 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:430:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +synthesizer.c:431:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 431 | dialog_bindkeyboard(&synth_file_keyboard); + | ^~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ +synthesizer.c:432:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] + 432 | dialog_binddrag(&synth_file_drag); + | ^~~~~~~~~~~~~~~~ +dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 31 | void dialog_binddrag(void *dragfunc); + | ~~~~~~^~~~~~~~ sequencer.c:526:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 526 | dialog_bindkeyboard(&sequencer_file_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:456:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 456 | dragoffset_x=x-mod[csynth][m].x; + | ^ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:456:22: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 456 | dragoffset_x=x-mod[csynth][m].x; + | ^ sequencer.c:527:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] 527 | dialog_binddrag(&sequencer_file_drag); | ^~~~~~~~~~~~~~~~~~~~ +synthesizer.c:457:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 457 | dragoffset_y=y-mod[csynth][m].y; + | ^ dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ +synthesizer.c:457:22: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 457 | dragoffset_y=y-mod[csynth][m].y; + | ^ sequencer.c:576:22: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 576 | console_post("Modulator commands are not yet implemented!"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:483:45: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 483 | mod[csynth][signaldrag].scale=modInputScale[mod[csynth][m].type][mod[csynth][m].inpactive]; + | ^~~~~~~~~~~~~ +synthesizer.c:502:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); + | ^~~~~~~~~~~~~~~~ +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ +synthesizer.c:502:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +synthesizer.c:502:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ +synthesizer.c:503:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 503 | dialog_bindkeyboard(&synthlabel_keyboard); + | ^~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ +synthesizer.c: In function 'synth_keyboard': +synthesizer.c:527:29: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 527 | syndir=dotfile_getvalue("synthFileDir"); + | ^~~~~~~~~~~~~~ +dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' + 18 | char *dotfile_getvalue(char *key); + | ~~~~~~^~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ +synthesizer.c:528:35: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 528 | filedialog_open(&fd[FD_SAVE], "ksyn", syndir); + | ^~~~~~ +filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' + 58 | void filedialog_open(filedialog *fd, char *ext, char *path); + | ~~~~~~^~~ sequencer.c:582:23: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 582 | dialog_open(&sequencer_draw_channel, &sequencer_channel_hover, &sequencer_channel_click); | ^~~~~~~~~~~~~~~~~~~~~~~ @@ -4250,6 +4599,12 @@ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:530:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~ +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ sequencer.c:582:74: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 582 | dialog_open(&sequencer_draw_channel, &sequencer_channel_hover, &sequencer_channel_click); | ^~~~~~~~~~~~~~~~~~~~~~~~ @@ -4262,82 +4617,108 @@ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:530:35: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:609:61: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 609 | pl=seq_repeat[seq_drag_pattch][seq_drag_pattstart]*pattlen[seq_pattern[seq_drag_pattch][seq_drag_pattstart]]; | ^ +synthesizer.c:530:54: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:609:14: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 609 | pl=seq_repeat[seq_drag_pattch][seq_drag_pattstart]*pattlen[seq_pattern[seq_drag_pattch][seq_drag_pattstart]]; | ^~~~~~~~~~ +synthesizer.c:531:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 531 | dialog_bindkeyboard(&synth_file_keyboard); + | ^~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ +synthesizer.c:532:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] + 532 | dialog_binddrag(&synth_file_drag); + | ^~~~~~~~~~~~~~~~ sequencer.c:624:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 624 | console_post("Patterns"); | ^~~~~~~~~~ -In file included from synthesizer.h:24, - from synthesizer.c:13: -audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 56 | int audio_exportwav(); //char *filename); - | ^~~ -In file included from buffermm.h:16, - from synthesizer.h:25: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ -filedialog.c: In function 'filedialog_keyboard': console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -filedialog.c:250:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] - 250 | strncat(fd->fullpath, fd->fmask+1, 512); - | ^ +dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 31 | void dialog_binddrag(void *dragfunc); + | ~~~~~~^~~~~~~~ +synthesizer.c:537:29: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 537 | syndir=dotfile_getvalue("synthFileDir"); + | ^~~~~~~~~~~~~~ sequencer.c:654:23: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 654 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' + 18 | char *dotfile_getvalue(char *key); + | ~~~~~~^~~ sequencer.c:654:48: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 654 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ -In function 'strncat', - inlined from 'filedialog_keyboard' at filedialog.c:247:5: -/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] - 149 | return __builtin___strncat_chk (__dest, __src, __len, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 150 | __glibc_objsize (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ -In function 'strncat', - inlined from 'filedialog_keyboard' at filedialog.c:250:7: -/usr/include/aarch64-linux-gnu/bits/string_fortified.h:149:10: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-overflow=] - 149 | return __builtin___strncat_chk (__dest, __src, __len, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 150 | __glibc_objsize (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:538:35: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 538 | filedialog_open(&fd[FD_LOAD], "ksyn", syndir); + | ^~~~~~ +filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' + 58 | void filedialog_open(filedialog *fd, char *ext, char *path); + | ~~~~~~^~~ sequencer.c:654:74: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 654 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:540:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~ +dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~ sequencer.c:655:31: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 655 | dialog_bindkeyboard(&sequencer_pattern_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:540:35: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ sequencer.c:663:23: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 663 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:663:48: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 663 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:540:54: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] + 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); + | ^~~~~~~~~~~~~~~~~ +dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' + 22 | void dialog_open(void *draw, void *hover, void *click); + | ~~~~~~^~~~~ sequencer.c:663:74: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 663 | dialog_open(&sequencer_draw_pattern, &sequencer_pattern_hover, &sequencer_pattern_click); | ^~~~~~~~~~~~~~~~~~~~~~~~ @@ -4351,12 +4732,21 @@ 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ sequencer.c: In function 'sequencer_keyboard': +synthesizer.c:541:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 541 | dialog_bindkeyboard(&synth_file_keyboard); + | ^~~~~~~~~~~~~~~~~~~~ +dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ sequencer.c:706:30: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 706 | songdir=dotfile_getvalue("songFileDir"); | ^~~~~~~~~~~~~ dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' 18 | char *dotfile_getvalue(char *key); | ~~~~~~^~~ +synthesizer.c:542:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] + 542 | dialog_binddrag(&synth_file_drag); + | ^~~~~~~~~~~~~~~~ sequencer.c:707:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 707 | filedialog_open(&songfd[FD_SAVE], "ksong", songdir); | ^~~~~~~ @@ -4369,136 +4759,15 @@ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ -In file included from widgets.h:23, - from widgets.c:14: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ +dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' + 31 | void dialog_binddrag(void *dragfunc); + | ~~~~~~^~~~~~~~ sequencer.c:709:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 709 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ -widgets.c: In function 'draw_module': -widgets.c:51:76: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 51 | render_text((char*)modTypeNames[s->type], x+1, round(y+(MODULE_SIZE/5))+1, 2, 0xff000000, 1); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~ -widgets.c:52:50: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 52 | render_text((char*)modTypeNames[s->type], x, round(y+(MODULE_SIZE/5)), 2, 0xffffffff, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:69:34: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 69 | render_text(s->label, x+1, round(y+(MODULE_SIZE/3)+5), 2, 0xff000000, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:70:32: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 70 | render_text(s->label, x, round(y+(MODULE_SIZE/3)+4), 2, 0xffffffff, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:72:54: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 72 | render_text((char*)modTypeNames[s->type], x+1, round(y+(MODULE_SIZE/3)+5), 2, 0xff000000, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:73:52: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 73 | render_text((char*)modTypeNames[s->type], x, round(y+(MODULE_SIZE/3)+4), 2, 0xffffffff, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:83:72: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 83 | (char*)modInputNames[type][i], node_labelpos[modInputCount[type]][i]); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ -widgets.c:89:63: warning: passing argument 4 of 'draw_signal_node' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 89 | draw_signal_node(x+MODULE_HALF+0.5, y+OUTPUT_OFFSET, 3, "Out", 1); - | ^~~~~ -widgets.h:29:57: note: expected 'char *' but argument is of type 'const char *' - 29 | void draw_signal_node(float x, float y, int type, char* label, int align); - | ~~~~~~^~~~~ -widgets.c:91:63: warning: passing argument 4 of 'draw_signal_node' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 91 | draw_signal_node(x+MODULE_HALF+0.5, y+OUTPUT_OFFSET, 1, "Out", 1); - | ^~~~~ -widgets.h:29:57: note: expected 'char *' but argument is of type 'const char *' - 29 | void draw_signal_node(float x, float y, int type, char* label, int align); - | ~~~~~~^~~~~ -widgets.c: In function 'draw_signal_node': -widgets.c:119:18: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 119 | glVertex3f(x + cos(f*2*M_PI)*(r*0.75), y + sin(f*2*M_PI)*(r*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:119:46: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 119 | glVertex3f(x + cos(f*2*M_PI)*(r*0.75), y + sin(f*2*M_PI)*(r*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c: In function 'draw_knob': -widgets.c:156:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 156 | c=0.2+(1.0f+cos(0.6+f*2*M_PI))/(2.0); - | ^~~ -widgets.c:158:18: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 158 | glVertex3f(x + cos(f*2*M_PI)*KNOB_RADIUS, y + sin(f*2*M_PI)*KNOB_RADIUS, 0.0f); -widgets.c:158:49: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 158 | glVertex3f(x + cos(f*2*M_PI)*KNOB_RADIUS, y + sin(f*2*M_PI)*KNOB_RADIUS, 0.0f); -widgets.c:159:18: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 159 | glVertex3f(x + cos(f*2*M_PI)*(KNOB_RADIUS*0.75), y + sin(f*2*M_PI)*(KNOB_RADIUS*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:159:56: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 159 | glVertex3f(x + cos(f*2*M_PI)*(KNOB_RADIUS*0.75), y + sin(f*2*M_PI)*(KNOB_RADIUS*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:169:18: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 169 | glVertex3f(x + cos(f*2*M_PI)*(KNOB_RADIUS*0.75), y + sin(f*2*M_PI)*(KNOB_RADIUS*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:169:56: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 169 | glVertex3f(x + cos(f*2*M_PI)*(KNOB_RADIUS*0.75), y + sin(f*2*M_PI)*(KNOB_RADIUS*0.75), 0.0f); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:177:33: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 177 | glVertex2f(x,y); glVertex2f(x + cos(setting*2*M_PI)*KNOB_RADIUS, y + sin(setting*2*M_PI)*KNOB_RADIUS); -widgets.c:177:70: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 177 | glVertex2f(x,y); glVertex2f(x + cos(setting*2*M_PI)*KNOB_RADIUS, y + sin(setting*2*M_PI)*KNOB_RADIUS); -widgets.c:182:33: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 182 | glVertex2f(x,y); glVertex2f(x + cos(setting*2*M_PI)*KNOB_RADIUS, y + sin(setting*2*M_PI)*KNOB_RADIUS); -widgets.c:182:70: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 182 | glVertex2f(x,y); glVertex2f(x + cos(setting*2*M_PI)*KNOB_RADIUS, y + sin(setting*2*M_PI)*KNOB_RADIUS); -widgets.c: In function 'draw_text': -widgets.c:198:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 198 | xd += glutBitmapWidth(MODULE_FONT,*c); - | ^~ -widgets.c:203:3: warning: switch missing default case [-Wswitch-default] - 203 | switch (align) { - | ^~~~~~ -widgets.c:212:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 212 | x1 += glutBitmapWidth(MODULE_FONT,*c); - | ^~ -widgets.c: In function 'draw_kboct': -widgets.c:455:22: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 455 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); - | ^ -widgets.c:455:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 455 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); - | ^ -widgets.c:456:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 456 | glVertex2f(2+kw, y-(j+1)*kh); glVertex2f(2, y-(j+1)*kh); - | ^ -widgets.c:456:56: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 456 | glVertex2f(2+kw, y-(j+1)*kh); glVertex2f(2, y-(j+1)*kh); - | ^ -widgets.c:460:22: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 460 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); - | ^ -widgets.c:460:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 460 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); - | ^ -widgets.c:461:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 461 | glVertex2f(2+kw, y-(j+1)*kh+1); glVertex2f(2, y-(j+1)*kh+1); - | ^ -widgets.c:461:58: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 461 | glVertex2f(2+kw, y-(j+1)*kh+1); glVertex2f(2, y-(j+1)*kh+1); - | ^ -widgets.c:472:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 472 | glVertex2f(2, y-(j+0.5)*kh-(0.2*kh)); - | ^ -widgets.c:473:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 473 | glVertex2f(2+kw*0.6, y-(j+0.5)*kh-(0.2*kh)); - | ^ -widgets.c:474:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 474 | glVertex2f(2+kw*0.6, y-(j+1.5)*kh+(0.2*kh)); - | ^ -widgets.c:475:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 475 | glVertex2f(2, y-(j+1.5)*kh+(0.2*kh)); - | ^ -widgets.c:479:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 479 | glVertex2f(2, y-(j+0.5)*kh-(0.2*kh)); - | ^ sequencer.c:709:62: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 709 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ @@ -4511,49 +4780,120 @@ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:514:44: warning: unused parameter 'x' [-Wunused-parameter] + 514 | void synth_keyboard(unsigned char key, int x, int y) + | ~~~~^ +synthesizer.c:514:51: warning: unused parameter 'y' [-Wunused-parameter] + 514 | void synth_keyboard(unsigned char key, int x, int y) + | ~~~~^ +synthesizer.c: In function 'synth_specialkey': +synthesizer.c:555:3: warning: switch missing default case [-Wswitch-default] + 555 | switch(key) + | ^~~~~~ +synthesizer.c:553:46: warning: unused parameter 'x' [-Wunused-parameter] + 553 | void synth_specialkey(unsigned char key, int x, int y) + | ~~~~^ +synthesizer.c:553:53: warning: unused parameter 'y' [-Wunused-parameter] + 553 | void synth_specialkey(unsigned char key, int x, int y) + | ~~~~^ +synthesizer.c: In function 'synth_draw': +synthesizer.c:624:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 624 | draw_button(14, DS_HEIGHT-14, 16, "<<", synth_ui[B_PREV]); + | ^~~~ +In file included from pattern.h:22: +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:627:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 627 | draw_button(64, DS_HEIGHT-14, 16, ">>", synth_ui[B_NEXT]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:629:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 629 | draw_button(310, DS_HEIGHT-14, 16, "m", synth_ui[B_ADD]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:630:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 630 | draw_button(350, DS_HEIGHT-14, 16, "S", synth_ui[B_SAVE]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:631:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 631 | draw_button(372, DS_HEIGHT-14, 16, "L", synth_ui[B_LOAD]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:633:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 633 | draw_button(394, DS_HEIGHT-14, 16, "C", synth_ui[B_CLEAR]); + | ^~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c: In function 'synth_addmodule': +synthesizer.c:662:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 662 | xd=(DS_WIDTH/10)*i - mod[csynth][k].x; + | ^ +synthesizer.c:663:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 663 | yd=(DS_HEIGHT/10)*j - mod[csynth][k].y; + | ^ +synthesizer.c:664:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 664 | d=sqrt(xd*xd+yd*yd); + | ^~~~ +synthesizer.c:671:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 671 | mod[csynth][m].x=bmi; + | ^~~ +synthesizer.c:672:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 672 | mod[csynth][m].y=bmj; + | ^~~ +synthesizer.c: In function 'synth_draw_addmodule': sequencer.c:711:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] 711 | dialog_binddrag(&sequencer_file_drag); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ -widgets.c:480:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 480 | glVertex2f(2+kw*0.6, y-(j+0.5)*kh-(0.2*kh)); - | ^ -widgets.c:481:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 481 | glVertex2f(2+kw*0.6, y-(j+1.5)*kh+(0.2*kh)); - | ^ +synthesizer.c:704:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 704 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 260, 526, "", 0); + | ^~ +widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' + 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); + | ~~~~~~^~~~~ sequencer.c:716:30: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 716 | songdir=dotfile_getvalue("songFileDir"); | ^~~~~~~~~~~~~ -widgets.c:482:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 482 | glVertex2f(2, y-(j+1.5)*kh+(0.2*kh)); - | ^ dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' 18 | char *dotfile_getvalue(char *key); | ~~~~~~^~~ -widgets.c: In function 'draw_kbhoct': sequencer.c:717:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 717 | filedialog_open(&songfd[FD_LOAD], "ksong", songdir); | ^~~~~~~ filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' 58 | void filedialog_open(filedialog *fd, char *ext, char *path); | ~~~~~~^~~ -widgets.c:507:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 507 | glVertex2f(x+j*kw, y); - | ^ +synthesizer.c: In function 'synth_addmodule_click': sequencer.c:719:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 719 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ +synthesizer.c:732:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 732 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 260, 526)) { dialog_close(); return; } + | ^ sequencer.c:719:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 719 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~~ +synthesizer.c:732:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 732 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 260, 526)) { dialog_close(); return; } + | ^ sequencer.c:719:62: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 719 | dialog_open(&sequencer_draw_file, &sequencer_file_hover, &sequencer_file_click); | ^~~~~~~~~~~~~~~~~~~~~ @@ -4566,442 +4906,444 @@ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ +synthesizer.c:734:50: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 734 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),260,526)) { + | ^ sequencer.c:721:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] 721 | dialog_binddrag(&sequencer_file_drag); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ +synthesizer.c:734:52: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 734 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),260,526)) { + | ^ sequencer.c:736:31: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 736 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ +synthesizer.c: In function 'synth_addmodule_keyboard': sequencer.c:736:14: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 736 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ +synthesizer.c:747:54: warning: unused parameter 'x' [-Wunused-parameter] + 747 | void synth_addmodule_keyboard(unsigned char key, int x, int y) + | ~~~~^ sequencer.c:736:13: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 736 | n=i+seq_repeat[j][i]*pattlen[seq_pattern[j][i]]; | ^ sequencer.c:690:3: warning: switch missing default case [-Wswitch-default] 690 | switch (key) { | ^~~~~~ +synthesizer.c:747:61: warning: unused parameter 'y' [-Wunused-parameter] + 747 | void synth_addmodule_keyboard(unsigned char key, int x, int y) + | ~~~~^ +synthesizer.c: In function 'synth_file_keyboard': sequencer.c:682:48: warning: unused parameter 'x' [-Wunused-parameter] 682 | void sequencer_keyboard(unsigned char key, int x, int y) | ~~~~^ sequencer.c:682:55: warning: unused parameter 'y' [-Wunused-parameter] 682 | void sequencer_keyboard(unsigned char key, int x, int y) | ~~~~^ +synthesizer.c:770:49: warning: unused parameter 'x' [-Wunused-parameter] + 770 | void synth_file_keyboard(unsigned char key, int x, int y) + | ~~~~^ sequencer.c: In function 'sequencer_draw': +synthesizer.c:770:56: warning: unused parameter 'y' [-Wunused-parameter] + 770 | void synth_file_keyboard(unsigned char key, int x, int y) + | ~~~~^ sequencer.c:759:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] 759 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+(j*SEQUENCER_CELLHEIGHT)); | ^ +synthesizer.c: In function 'synth_file_checkstate': sequencer.c:760:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 760 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(j*SEQUENCER_CELLHEIGHT)); | ^ sequencer.c:760:83: warning: conversion from 'int' to 'float' may change value [-Wconversion] 760 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(j*SEQUENCER_CELLHEIGHT)); | ^ +synthesizer.c:796:35: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 796 | if (r) { console_post("Writing to file failed (KBNK chunk)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +In file included from widgets.h:23, + from widgets.c:14: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ sequencer.c:768:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 768 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+2)*SEQUENCER_CELLHEIGHT)); | ^ +synthesizer.c:802:26: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 802 | console_post("Writing to file failed (KSYN chunk)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:769:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 769 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+((seqch+2)*SEQUENCER_CELLHEIGHT)); | ^ -widgets.c:508:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 508 | glVertex2f(x+(j+1)*kw, y); - | ^ -widgets.c:509:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 509 | glVertex2f(x+(j+1)*kw, y+kh); - | ^ -widgets.c:510:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 510 | glVertex2f(x+j*kw, y+kh); - | ^ -widgets.c:514:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 514 | glVertex2f(x+j*kw, y); - | ^ -widgets.c:515:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 515 | glVertex2f(x+(j+1)*kw, y); - | ^ -widgets.c:516:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 516 | glVertex2f(x+(j+1)*kw, y+kh); - | ^ -widgets.c:517:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 517 | glVertex2f(x+j*kw, y+kh); - | ^ -widgets.c:522:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 522 | render_text(tmps, x+j*kw+8, y+kh-4, 2, 0xff303030, 1); - | ^ -widgets.c:537:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 537 | glVertex2f(x+j*kw+(0.7*kw), y); - | ^ -widgets.c:538:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 538 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); - | ^ -widgets.c:539:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 539 | glVertex2f(x+(j+1)*kw+(0.3*kw), y+(kh*0.5)); - | ^ -widgets.c:540:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 540 | glVertex2f(x+j*kw+(0.7*kw), y+(kh*0.5)); - | ^ -widgets.c:544:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 544 | glVertex2f(x+j*kw+(0.7*kw), y); - | ^ -widgets.c:545:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 545 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); - | ^ -widgets.c:546:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 546 | glVertex2f(x+(j+1)*kw+(0.3*kw), y+(kh*0.5)); - | ^ -shader.c: In function 'shader_init': -shader.c:75:5: warning: '__builtin_strncpy' output may be truncated copying 511 bytes from a string of length 511 [-Wstringop-truncation] - 75 | strncpy(fullpath, respath, 511); - | ^ -widgets.c:547:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 547 | glVertex2f(x+j*kw+(0.7*kw), y+(kh*0.5)); - | ^ -widgets.c:552:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 552 | render_text(tmps, x+j*kw+(0.7*kw)+5, y+0.5*kh-5, 2, 0xffc0c0c0, 1); - | ^ -widgets.c: In function 'hovertest_hslider': +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ sequencer.c:769:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] 769 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+((seqch+2)*SEQUENCER_CELLHEIGHT)); | ^ +synthesizer.c:806:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 806 | console_post("Unable to open file for writing!"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +widgets.c: In function 'draw_module': sequencer.c:770:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 770 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+3)*SEQUENCER_CELLHEIGHT)); | ^ -widgets.c:709:21: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 709 | if (hit) return (x-slx); - | ~~^~~~~ +widgets.c:51:76: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 51 | render_text((char*)modTypeNames[s->type], x+1, round(y+(MODULE_SIZE/5))+1, 2, 0xff000000, 1); + | ~~~~~~~~~~~~~~~~~~~~~~~~^~ +widgets.c:52:50: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 52 | render_text((char*)modTypeNames[s->type], x, round(y+(MODULE_SIZE/5)), 2, 0xffffffff, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:771:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 771 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+((seqch+3)*SEQUENCER_CELLHEIGHT)); | ^ +widgets.c:69:34: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 69 | render_text(s->label, x+1, round(y+(MODULE_SIZE/3)+5), 2, 0xff000000, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +widgets.c:70:32: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 70 | render_text(s->label, x, round(y+(MODULE_SIZE/3)+4), 2, 0xffffffff, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +widgets.c:72:54: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 72 | render_text((char*)modTypeNames[s->type], x+1, round(y+(MODULE_SIZE/3)+5), 2, 0xff000000, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:771:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] 771 | glVertex2f(SEQUENCER_X+(seqsonglen-seq_start)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+((seqch+3)*SEQUENCER_CELLHEIGHT)); | ^ -widgets.c: In function 'textbox_edit': +widgets.c:73:52: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 73 | render_text((char*)modTypeNames[s->type], x, round(y+(MODULE_SIZE/3)+4), 2, 0xffffffff, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:824:28: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 824 | console_post("Reading file failed (KBNK chunk)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +widgets.c:83:72: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 83 | (char*)modInputNames[type][i], node_labelpos[modInputCount[type]][i]); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +widgets.c:89:63: warning: passing argument 4 of 'draw_signal_node' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 89 | draw_signal_node(x+MODULE_HALF+0.5, y+OUTPUT_OFFSET, 3, "Out", 1); + | ^~~~~ +widgets.h:29:57: note: expected 'char *' but argument is of type 'const char *' + 29 | void draw_signal_node(float x, float y, int type, char* label, int align); + | ~~~~~~^~~~~ +widgets.c:91:63: warning: passing argument 4 of 'draw_signal_node' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 91 | draw_signal_node(x+MODULE_HALF+0.5, y+OUTPUT_OFFSET, 1, "Out", 1); + | ^~~~~ +widgets.h:29:57: note: expected 'char *' but argument is of type 'const char *' + 29 | void draw_signal_node(float x, float y, int type, char* label, int align); + | ~~~~~~^~~~~ sequencer.c:784:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] 784 | render_text(tmps, 2.5+SEQUENCER_X+(i*SEQUENCER_CELLWIDTH), round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT)), 2, 0xffa0a0a0, 0); | ^ -widgets.c:738:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare] - 738 | strlen(text)>", synth_ui[B_LABEL_INCSCALE]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c:875:57: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 875 | draw_button((DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, "<<", synth_ui[B_LABEL_DECSCALE]); + | ^~~~ +widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' + 37 | void draw_button(float x, float y, float size, char *label, int type); + | ~~~~~~^~~~~ +synthesizer.c: In function 'synthlabel_hover': +synthesizer.c:888:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 888 | synth_label_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2)+30, (DS_HEIGHT/2)-32, 16, 180); + | ^ sequencer.c:791:53: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] 791 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:793:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 793 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); // was seqch+3 | ^ +synthesizer.c:888:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 888 | synth_label_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2)+30, (DS_HEIGHT/2)-32, 16, 180); + | ^ sequencer.c:793:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] 793 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); // was seqch+3 | ^ +synthesizer.c:890:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 890 | synth_ui[B_LABEL_INCSCALE]=hovertest_box(x, y, (DS_WIDTH/2)+112, (DS_HEIGHT/2)+32, 16, 16); + | ^ sequencer.c:793:53: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] 793 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); // was seqch+3 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:890:49: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 890 | synth_ui[B_LABEL_INCSCALE]=hovertest_box(x, y, (DS_WIDTH/2)+112, (DS_HEIGHT/2)+32, 16, 16); + | ^ sequencer.c:804:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 804 | sx=SEQUENCER_X+(j-seq_start)*SEQUENCER_CELLWIDTH -1.5; | ^ sequencer.c:805:28: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 805 | sl=seq_repeat[i][j]*pattlen[seq_pattern[i][j]]*SEQUENCER_CELLWIDTH; | ^ +synthesizer.c:891:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 891 | synth_ui[B_LABEL_DECSCALE]=hovertest_box(x, y, (DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, 16); + | ^ sequencer.c:805:12: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 805 | sl=seq_repeat[i][j]*pattlen[seq_pattern[i][j]]*SEQUENCER_CELLWIDTH; | ^~~~~~~~~~ +synthesizer.c:891:49: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 891 | synth_ui[B_LABEL_DECSCALE]=hovertest_box(x, y, (DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, 16); + | ^ sequencer.c:807:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 807 | if ((sx+sl) > SEQUENCER_X) { | ^ +synthesizer.c:897:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 897 | synth_ui[B_HUE_PICKER]=hovertest_box(x, y, (DS_WIDTH/2)+21, (DS_HEIGHT/2)+2, 17, 162); + | ^ sequencer.c:810:15: warning: conversion from 'int' to 'float' may change value [-Wconversion] 810 | sl-=(SEQUENCER_X-sx); | ^~ sequencer.c:810:17: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 810 | sl-=(SEQUENCER_X-sx); | ^ +synthesizer.c:897:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 897 | synth_ui[B_HUE_PICKER]=hovertest_box(x, y, (DS_WIDTH/2)+21, (DS_HEIGHT/2)+2, 17, 162); + | ^ sequencer.c:816:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 816 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +synthesizer.c:898:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 898 | synth_ui[B_HUE_PICKER_BOX]=hovertest_box(x, y, (DS_WIDTH/2)+21+81+11, (DS_HEIGHT/2)+2, 17, 18); + | ^ sequencer.c:817:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 817 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +synthesizer.c:898:47: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 898 | synth_ui[B_HUE_PICKER_BOX]=hovertest_box(x, y, (DS_WIDTH/2)+21+81+11, (DS_HEIGHT/2)+2, 17, 18); + | ^ sequencer.c:817:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 817 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +synthesizer.c: In function 'synthlabel_click': sequencer.c:818:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 818 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +synthesizer.c:904:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 904 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 160, 320)) { dialog_close(); return; } + | ^ sequencer.c:818:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 818 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +synthesizer.c:904:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 904 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 160, 320)) { dialog_close(); return; } + | ^ sequencer.c:819:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 819 | glVertex2f( sx+1, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ sequencer.c:822:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] 822 | render_text(tmps, sx+2, SEQUENCER_Y+(i+1)*SEQUENCER_CELLHEIGHT-((SEQUENCER_CELLHEIGHT-14)/2)+2.5, 2, 0x80c0c0c0, 0); | ^ +synthesizer.c:921:60: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 921 | float hue=1.0 + 254.0 * ( (x-((DS_WIDTH/2)+21-81) )/162.0); + | ^ sequencer.c:829:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 829 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -In file included from synthesizer.h:29: -dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 16 | int dotfile_load(); - | ^~~ -dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 17 | int dotfile_save(); - | ^~~ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -In file included from synthesizer.h:31: -fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' - 62 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ -synthesizer.h:85:5: warning: redundant redeclaration of 'synth_trace' [-Wredundant-decls] - 85 | int synth_trace(int syn, int pm, int fifo); - | ^~~~~~~~~~~ -fileops.h:63:5: note: previous declaration of 'synth_trace' with type 'int(int, int, int)' - 63 | int synth_trace(int syn, int pm, int top); - | ^~~~~~~~~~~ -synthesizer.c: In function 'hovertest_output': -synthesizer.c:178:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 178 | xd=x-(list[m].x+MODULE_HALF); - | ^ -synthesizer.c:179:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 179 | yd=y-(list[m].y+OUTPUT_OFFSET); - | ^ -synthesizer.c:180:9: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 180 | d=sqrt(xd*xd+yd*yd); - | ^~~~ -synthesizer.c: In function 'hovertest_input': -synthesizer.c:189:48: warning: declaration of 'mod' shadows a global declaration [-Wshadow] - 189 | int hovertest_input(int x, int y, synthmodule *mod) - | ~~~~~~~~~~~~~^~~ -synthesizer.c:52:13: note: shadowed declaration is here - 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; - | ^~~ -synthesizer.c:196:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 196 | xd=x - (mod->x + node_xoffset[ modInputCount[mod->type] ][ n ]); - | ^ -synthesizer.c:197:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 197 | yd=y - (mod->y + node_yoffset[ modInputCount[mod->type] ][ n ]); - | ^ -synthesizer.c:198:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 198 | d=sqrt(xd*xd + yd*yd); - | ^~~~ -synthesizer.c: At top level: -synthesizer.c:240:6: warning: no previous prototype for 'synth_open_addmodule' [-Wmissing-prototypes] - 240 | void synth_open_addmodule(void) - | ^~~~~~~~~~~~~~~~~~~~ sequencer.c:830:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 830 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +synthesizer.c:922:45: warning: conversion from 'double' to 'unsigned char' may change value [-Wfloat-conversion] + 922 | mod[csynth][synth_label_edit].color=floor(hue); + | ^~~~~ sequencer.c:830:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 830 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ sequencer.c:831:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 831 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +synthesizer.c:933:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 933 | if (button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { + | ^ sequencer.c:831:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 831 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +synthesizer.c:933:72: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 933 | if (button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { + | ^ sequencer.c:832:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 832 | glVertex2f( sx+1, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ -widgets.c: In function 'draw_kboct': +synthesizer.c: In function 'synthlabel_keyboard': sequencer.c:838:24: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 838 | if ( (k%pattlen[seq_pattern[i][j]])==0 ) { | ^ +synthesizer.c:944:49: warning: unused parameter 'x' [-Wunused-parameter] + 944 | void synthlabel_keyboard(unsigned char key, int x, int y) + | ~~~~^ +widgets.c:203:3: warning: switch missing default case [-Wswitch-default] + 203 | switch (align) { + | ^~~~~~ sequencer.c:843:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 843 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i*SEQUENCER_CELLHEIGHT); | ^ -widgets.c:484:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] - 484 | ckey+=bkj[i]; - | ~~~^~~ +synthesizer.c:944:56: warning: unused parameter 'y' [-Wunused-parameter] + 944 | void synthlabel_keyboard(unsigned char key, int x, int y) + | ~~~~^ +widgets.c:212:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 212 | x1 += glutBitmapWidth(MODULE_FONT,*c); + | ^~ sequencer.c:843:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] 843 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i*SEQUENCER_CELLHEIGHT); | ^ sequencer.c:844:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 844 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i*SEQUENCER_CELLHEIGHT + (0.2*SEQUENCER_CELLHEIGHT)); | ^ -widgets.c:466:12: note: within this loop - 466 | for(i=0;i<5;i++) { // black keys - | ~^~ sequencer.c:844:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] 844 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i*SEQUENCER_CELLHEIGHT + (0.2*SEQUENCER_CELLHEIGHT)); | ^ sequencer.c:845:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 845 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT + (0.8*SEQUENCER_CELLHEIGHT)); | ^ +widgets.c: In function 'draw_kboct': sequencer.c:845:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] 845 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT + (0.8*SEQUENCER_CELLHEIGHT)); | ^ +widgets.c:455:22: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 455 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); + | ^ +widgets.c:455:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 455 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); + | ^ sequencer.c:846:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 846 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c:456:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 456 | glVertex2f(2+kw, y-(j+1)*kh); glVertex2f(2, y-(j+1)*kh); + | ^ sequencer.c:846:75: warning: conversion from 'int' to 'float' may change value [-Wconversion] 846 | glVertex2f( sx+(sk*SEQUENCER_CELLWIDTH)+0.5, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c:456:56: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 456 | glVertex2f(2+kw, y-(j+1)*kh); glVertex2f(2, y-(j+1)*kh); + | ^ +widgets.c:460:22: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 460 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); + | ^ sequencer.c:864:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] 864 | sx=SEQUENCER_X+(j-seq_start)*SEQUENCER_CELLWIDTH; | ^ -widgets.c: In function 'draw_kbhoct': -widgets.c:560:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] - 560 | ckey+=bkj[i]; - | ~~~^~~ -widgets.c:531:12: note: within this loop - 531 | for(i=0;i<5;i++) { // black keys - | ~^~ -synthesizer.c: In function 'synth_open_addmodule': -synthesizer.c:252:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 252 | tmpmod[m].x=(DS_WIDTH/2)-222 + m*74; - | ^ -synthesizer.c:255:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 255 | tmpmod[m].x=(DS_WIDTH/2)-222 + (m-7)*74; - | ^ -synthesizer.c:259:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 259 | tmpmod[m].x=(DS_WIDTH/2)-222 + (m-14)*74; - | ^ -synthesizer.c:266:15: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); - | ^~~~~~~~~~~~~~~~~~~~~ -In file included from synthesizer.h:28: -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:266:38: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); - | ^~~~~~~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:266:62: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 266 | dialog_open(&synth_draw_addmodule, &synth_addmodule_hover, synth_addmodule_click); - | ^~~~~~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:267:23: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 267 | dialog_bindkeyboard(&synth_addmodule_keyboard); - | ^~~~~~~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ -synthesizer.c: In function 'synth_mouse_hover': -synthesizer.c:285:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 285 | synth_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:285:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 285 | synth_ui[B_PREV]=hovertest_box(x, y, 14, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:286:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 286 | synth_ui[B_NEXT]=hovertest_box(x, y, 64, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:286:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 286 | synth_ui[B_NEXT]=hovertest_box(x, y, 64, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:287:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 287 | synth_ui[B_ADD]=hovertest_box (x, y, 310, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:287:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 287 | synth_ui[B_ADD]=hovertest_box (x, y, 310, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:288:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 288 | synth_ui[B_SAVE]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:288:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 288 | synth_ui[B_SAVE]=hovertest_box(x, y, 350, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:289:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 289 | synth_ui[B_LOAD]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:289:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 289 | synth_ui[B_LOAD]=hovertest_box(x, y, 372, DS_HEIGHT-14, 16, 16); - | ^ -synthesizer.c:290:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 290 | synth_ui[B_CLEAR]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (synth_ui[B_CLEAR]&8); - | ^ -synthesizer.c:290:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 290 | synth_ui[B_CLEAR]=hovertest_box(x, y, 394, DS_HEIGHT-14, 16, 16) | (synth_ui[B_CLEAR]&8); - | ^ -synthesizer.c:294:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 294 | synth_ui[B_NAME]|=hovertest_box(x, y, 190, DS_HEIGHT-14, 16, 180); - | ^ -synthesizer.c:294:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 294 | synth_ui[B_NAME]|=hovertest_box(x, y, 190, DS_HEIGHT-14, 16, 180); - | ^ -synthesizer.c: In function 'synth_mouse_drag': -synthesizer.c:333:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 333 | mod[csynth][moduledrag].x=x-dragoffset_x; - | ^ -synthesizer.c:334:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 334 | mod[csynth][moduledrag].y=y-dragoffset_y; - | ^ -synthesizer.c: In function 'synth_mouse_click': -synthesizer.c:375:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 375 | console_post("Click again to clear synthesizer"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from pattern.h:19, - from buffermm.h:17: -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -synthesizer.c:418:33: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 418 | syndir=dotfile_getvalue("synthFileDir"); - | ^~~~~~~~~~~~~~ -dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' - 18 | char *dotfile_getvalue(char *key); - | ~~~~~~^~~ -synthesizer.c:419:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 419 | filedialog_open(&fd[FD_SAVE], "ksyn", syndir); - | ^~~~~~ -In file included from synthesizer.h:30: -filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' - 58 | void filedialog_open(filedialog *fd, char *ext, char *path); - | ~~~~~~^~~ -synthesizer.c:421:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~ -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:421:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:421:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 421 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:422:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 422 | dialog_bindkeyboard(&synth_file_keyboard); - | ^~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ +widgets.c:460:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 460 | glVertex2f(2, y-j*kh); glVertex2f(2+kw, y-j*kh); + | ^ +widgets.c:461:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 461 | glVertex2f(2+kw, y-(j+1)*kh+1); glVertex2f(2, y-(j+1)*kh+1); + | ^ sequencer.c:865:26: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 865 | sl=seq_repeat[i][j]*pattlen[seq_pattern[i][j]]*SEQUENCER_CELLWIDTH; | ^ +widgets.c:461:58: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 461 | glVertex2f(2+kw, y-(j+1)*kh+1); glVertex2f(2, y-(j+1)*kh+1); + | ^ sequencer.c:865:10: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 865 | sl=seq_repeat[i][j]*pattlen[seq_pattern[i][j]]*SEQUENCER_CELLWIDTH; | ^~~~~~~~~~ +widgets.c:472:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 472 | glVertex2f(2, y-(j+0.5)*kh-(0.2*kh)); + | ^ +widgets.c:473:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 473 | glVertex2f(2+kw*0.6, y-(j+0.5)*kh-(0.2*kh)); + | ^ sequencer.c:867:14: warning: conversion from 'int' to 'float' may change value [-Wconversion] 867 | if ((sx+sl) > SEQUENCER_X) { | ^ +widgets.c:474:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 474 | glVertex2f(2+kw*0.6, y-(j+1.5)*kh+(0.2*kh)); + | ^ +widgets.c:475:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 475 | glVertex2f(2, y-(j+1.5)*kh+(0.2*kh)); + | ^ sequencer.c:870:13: warning: conversion from 'int' to 'float' may change value [-Wconversion] 870 | sl-=(SEQUENCER_X-sx); | ^~ @@ -5020,12 +5362,28 @@ sequencer.c:884:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 884 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c:479:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 479 | glVertex2f(2, y-(j+0.5)*kh-(0.2*kh)); + | ^ +widgets.c:480:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 480 | glVertex2f(2+kw*0.6, y-(j+0.5)*kh-(0.2*kh)); + | ^ sequencer.c:884:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 884 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c:481:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 481 | glVertex2f(2+kw*0.6, y-(j+1.5)*kh+(0.2*kh)); + | ^ +widgets.c:482:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 482 | glVertex2f(2, y-(j+1.5)*kh+(0.2*kh)); + | ^ sequencer.c:885:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 885 | glVertex2f( sx+1, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c: In function 'draw_kbhoct': +widgets.c:507:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 507 | glVertex2f(x+j*kw, y); + | ^ sequencer.c:896:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] 896 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+ seq_hover_ch *SEQUENCER_CELLHEIGHT ); | ^ @@ -5044,102 +5402,27 @@ sequencer.c:898:92: warning: conversion from 'int' to 'float' may change value [-Wconversion] 898 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start+1)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(1+seq_hover_ch)*SEQUENCER_CELLHEIGHT ); | ^ +widgets.c:508:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 508 | glVertex2f(x+(j+1)*kw, y); + | ^ sequencer.c:899:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] 899 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+(1+seq_hover_ch)*SEQUENCER_CELLHEIGHT ); | ^ +widgets.c:509:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 509 | glVertex2f(x+(j+1)*kw, y+kh); + | ^ +widgets.c:510:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 510 | glVertex2f(x+j*kw, y+kh); + | ^ sequencer.c:899:92: warning: conversion from 'int' to 'float' may change value [-Wconversion] 899 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+(1+seq_hover_ch)*SEQUENCER_CELLHEIGHT ); | ^ -synthesizer.c:423:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] - 423 | dialog_binddrag(&synth_file_drag); - | ^~~~~~~~~~~~~~~~ -dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 31 | void dialog_binddrag(void *dragfunc); - | ~~~~~~^~~~~~~~ -synthesizer.c:427:33: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 427 | syndir=dotfile_getvalue("synthFileDir"); - | ^~~~~~~~~~~~~~ -dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' - 18 | char *dotfile_getvalue(char *key); - | ~~~~~~^~~ -synthesizer.c:428:39: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 428 | filedialog_open(&fd[FD_LOAD], "ksyn", syndir); - | ^~~~~~ -filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' - 58 | void filedialog_open(filedialog *fd, char *ext, char *path); - | ~~~~~~^~~ -synthesizer.c:430:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~ -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:430:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:430:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 430 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:431:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 431 | dialog_bindkeyboard(&synth_file_keyboard); - | ^~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ -synthesizer.c:432:25: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] - 432 | dialog_binddrag(&synth_file_drag); - | ^~~~~~~~~~~~~~~~ -dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 31 | void dialog_binddrag(void *dragfunc); - | ~~~~~~^~~~~~~~ -synthesizer.c:456:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 456 | dragoffset_x=x-mod[csynth][m].x; - | ^ -synthesizer.c:456:22: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 456 | dragoffset_x=x-mod[csynth][m].x; - | ^ -synthesizer.c:457:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 457 | dragoffset_y=y-mod[csynth][m].y; - | ^ -synthesizer.c:457:22: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 457 | dragoffset_y=y-mod[csynth][m].y; - | ^ -synthesizer.c:483:45: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 483 | mod[csynth][signaldrag].scale=modInputScale[mod[csynth][m].type][mod[csynth][m].inpactive]; - | ^~~~~~~~~~~~~ sequencer.c:910:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] 910 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+(2+seqch)*SEQUENCER_CELLHEIGHT ); | ^ -synthesizer.c:502:21: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); - | ^~~~~~~~~~~~~~~~ -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:502:39: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ sequencer.c:910:90: warning: conversion from 'int' to 'float' may change value [-Wconversion] 910 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+(2+seqch)*SEQUENCER_CELLHEIGHT ); | ^ -synthesizer.c:502:58: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 502 | dialog_open(&synthlabel_draw, &synthlabel_hover, &synthlabel_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:503:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 503 | dialog_bindkeyboard(&synthlabel_keyboard); - | ^~~~~~~~~~~~~~~~~~~~ sequencer.c:911:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] 911 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start+1)*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(2+seqch)*SEQUENCER_CELLHEIGHT ); | ^ @@ -5164,159 +5447,84 @@ sequencer.c:922:8: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] 922 | pl=seq_repeat[i][seq_drag_pattstart]*pattlen[seq_pattern[i][seq_drag_pattstart]]; | ^~~~~~~~~~ -patch.c: In function 'patch_modulator_click': -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ -synthesizer.c: In function 'synth_keyboard': -synthesizer.c:527:29: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 527 | syndir=dotfile_getvalue("synthFileDir"); - | ^~~~~~~~~~~~~~ -dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' - 18 | char *dotfile_getvalue(char *key); - | ~~~~~~^~~ sequencer.c:925:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] 925 | sx=SEQUENCER_X+(j-seq_start)*SEQUENCER_CELLWIDTH; | ^ -synthesizer.c:528:35: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 528 | filedialog_open(&fd[FD_SAVE], "ksyn", syndir); - | ^~~~~~ -filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' - 58 | void filedialog_open(filedialog *fd, char *ext, char *path); - | ~~~~~~^~~ -synthesizer.c:530:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~ -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:530:35: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ sequencer.c:928:12: warning: conversion from 'int' to 'float' may change value [-Wconversion] 928 | if ((sx+sl) > SEQUENCER_X) { | ^ -synthesizer.c:530:54: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 530 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:531:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 531 | dialog_bindkeyboard(&synth_file_keyboard); - | ^~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ -synthesizer.c:532:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] - 532 | dialog_binddrag(&synth_file_drag); - | ^~~~~~~~~~~~~~~~ -dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 31 | void dialog_binddrag(void *dragfunc); - | ~~~~~~^~~~~~~~ -synthesizer.c:537:29: warning: passing argument 1 of 'dotfile_getvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 537 | syndir=dotfile_getvalue("synthFileDir"); - | ^~~~~~~~~~~~~~ -dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' - 18 | char *dotfile_getvalue(char *key); - | ~~~~~~^~~ sequencer.c:930:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] 930 | sl-=(SEQUENCER_X-sx); | ^~ -synthesizer.c:538:35: warning: passing argument 2 of 'filedialog_open' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 538 | filedialog_open(&fd[FD_LOAD], "ksyn", syndir); - | ^~~~~~ -filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' - 58 | void filedialog_open(filedialog *fd, char *ext, char *path); - | ~~~~~~^~~ -synthesizer.c:540:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~ -dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~ -synthesizer.c:540:35: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:36: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ +widgets.c:514:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 514 | glVertex2f(x+j*kw, y); + | ^ +widgets.c:515:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 515 | glVertex2f(x+(j+1)*kw, y); + | ^ sequencer.c:930:13: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 930 | sl-=(SEQUENCER_X-sx); | ^ -synthesizer.c:540:54: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] - 540 | dialog_open(&synth_draw_file, &synth_file_hover, &synth_file_click); - | ^~~~~~~~~~~~~~~~~ -dialog.h:22:49: note: expected 'void *' but argument is of type 'void (*)(int, int, int, int)' - 22 | void dialog_open(void *draw, void *hover, void *click); - | ~~~~~~^~~~~ -synthesizer.c:541:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 541 | dialog_bindkeyboard(&synth_file_keyboard); - | ^~~~~~~~~~~~~~~~~~~~ -dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' - 23 | void dialog_bindkeyboard(void *kbfunc); - | ~~~~~~^~~~~~ +widgets.c:516:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 516 | glVertex2f(x+(j+1)*kw, y+kh); + | ^ +widgets.c:517:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 517 | glVertex2f(x+j*kw, y+kh); + | ^ sequencer.c:936:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 936 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -synthesizer.c:542:21: warning: ISO C forbids passing argument 1 of 'dialog_binddrag' between function pointer and 'void *' [-Wpedantic] - 542 | dialog_binddrag(&synth_file_drag); - | ^~~~~~~~~~~~~~~~ -dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' - 31 | void dialog_binddrag(void *dragfunc); - | ~~~~~~^~~~~~~~ -synthesizer.c:514:44: warning: unused parameter 'x' [-Wunused-parameter] - 514 | void synth_keyboard(unsigned char key, int x, int y) - | ~~~~^ +widgets.c:522:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 522 | render_text(tmps, x+j*kw+8, y+kh-4, 2, 0xff303030, 1); + | ^ sequencer.c:937:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 937 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -synthesizer.c:514:51: warning: unused parameter 'y' [-Wunused-parameter] - 514 | void synth_keyboard(unsigned char key, int x, int y) - | ~~~~^ -synthesizer.c: In function 'synth_specialkey': +widgets.c:537:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 537 | glVertex2f(x+j*kw+(0.7*kw), y); + | ^ +widgets.c:538:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 538 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); + | ^ +widgets.c:539:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 539 | glVertex2f(x+(j+1)*kw+(0.3*kw), y+(kh*0.5)); + | ^ +widgets.c:540:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 540 | glVertex2f(x+j*kw+(0.7*kw), y+(kh*0.5)); + | ^ +widgets.c:544:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 544 | glVertex2f(x+j*kw+(0.7*kw), y); + | ^ sequencer.c:937:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 937 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -synthesizer.c:555:3: warning: switch missing default case [-Wswitch-default] - 555 | switch(key) - | ^~~~~~ -synthesizer.c:553:46: warning: unused parameter 'x' [-Wunused-parameter] - 553 | void synth_specialkey(unsigned char key, int x, int y) - | ~~~~^ sequencer.c:938:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 938 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ -synthesizer.c:553:53: warning: unused parameter 'y' [-Wunused-parameter] - 553 | void synth_specialkey(unsigned char key, int x, int y) - | ~~~~^ -patch.c:626:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] - 626 | *fptr&=fmask; - | ^~~~~ -patch.c:606:9: note: object 'f' of size 4 - 606 | float f; - | ^ -patch.c:626:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] - 626 | *fptr&=fmask; - | ^~~~~ -patch.c:606:9: note: object 'f' of size 4 - 606 | float f; - | ^ sequencer.c:938:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 938 | glVertex2f( sx+sl, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ sequencer.c:939:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 939 | glVertex2f( sx+1, SEQUENCER_Y+(1+i)*SEQUENCER_CELLHEIGHT-1 ); | ^ +widgets.c:545:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 545 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); + | ^ +widgets.c:546:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 546 | glVertex2f(x+(j+1)*kw+(0.3*kw), y+(kh*0.5)); + | ^ sequencer.c:947:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 947 | f=seq_render_start - seq_start; | ^~~~~~~~~~~~~~~~ +widgets.c:547:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 547 | glVertex2f(x+j*kw+(0.7*kw), y+(kh*0.5)); + | ^ sequencer.c:951:62: warning: conversion from 'int' to 'float' may change value [-Wconversion] 951 | glVertex2f(SEQUENCER_X+f*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(seqch+3)*SEQUENCER_CELLHEIGHT); | ^ +widgets.c:552:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 552 | render_text(tmps, x+j*kw+(0.7*kw)+5, y+0.5*kh-5, 2, 0xffc0c0c0, 1); + | ^ sequencer.c:955:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 955 | f=seq_render_end - seq_start; | ^~~~~~~~~~~~~~ @@ -5326,76 +5534,19 @@ sequencer.c:967:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] 967 | fs=seq_render_start-seq_start; | ^~~~~~~~~~~~~~~~ +widgets.c: In function 'hovertest_hslider': sequencer.c:969:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] 969 | fe=seq_render_end-seq_start; | ^~~~~~~~~~~~~~ +widgets.c:709:21: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 709 | if (hit) return (x-slx); + | ~~^~~~~ sequencer.c:974:67: warning: conversion from 'int' to 'float' may change value [-Wconversion] 974 | glVertex2f(SEQUENCER_X+fs*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(seqch+3)*SEQUENCER_CELLHEIGHT); | ^ sequencer.c:975:67: warning: conversion from 'int' to 'float' may change value [-Wconversion] 975 | glVertex2f(SEQUENCER_X+fe*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(seqch+3)*SEQUENCER_CELLHEIGHT); | ^ -synthesizer.c: In function 'synth_draw': -synthesizer.c:624:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 624 | draw_button(14, DS_HEIGHT-14, 16, "<<", synth_ui[B_PREV]); - | ^~~~ -In file included from pattern.h:22: -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:627:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 627 | draw_button(64, DS_HEIGHT-14, 16, ">>", synth_ui[B_NEXT]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:629:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 629 | draw_button(310, DS_HEIGHT-14, 16, "m", synth_ui[B_ADD]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:630:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 630 | draw_button(350, DS_HEIGHT-14, 16, "S", synth_ui[B_SAVE]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:631:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 631 | draw_button(372, DS_HEIGHT-14, 16, "L", synth_ui[B_LOAD]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:633:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 633 | draw_button(394, DS_HEIGHT-14, 16, "C", synth_ui[B_CLEAR]); - | ^~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c: In function 'synth_addmodule': -synthesizer.c:662:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 662 | xd=(DS_WIDTH/10)*i - mod[csynth][k].x; - | ^ -synthesizer.c:663:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 663 | yd=(DS_HEIGHT/10)*j - mod[csynth][k].y; - | ^ -synthesizer.c:664:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 664 | d=sqrt(xd*xd+yd*yd); - | ^~~~ -synthesizer.c:671:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 671 | mod[csynth][m].x=bmi; - | ^~~ -synthesizer.c:672:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 672 | mod[csynth][m].y=bmj; - | ^~~ -synthesizer.c: In function 'synth_draw_addmodule': -synthesizer.c:704:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 704 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 260, 526, "", 0); - | ^~ -widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' - 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); - | ~~~~~~^~~~~ sequencer.c:988:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] 988 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, SEQUENCER_Y); | ^ @@ -5423,9 +5574,13 @@ sequencer.c:1011:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1011 | if (i >= 0 && (i/16.0f) >= seq_start) { | ^ +widgets.c: In function 'textbox_edit': sequencer.c:1012:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1012 | f=(float)(i)/16.0f - seq_start; | ^ +widgets.c:738:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare] + 738 | strlen(text)>", seq_ui[B_ADDCH]); | ^~~~ -synthesizer.c:831:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 831 | console_post("Unable to open file for reading!"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -synthesizer.c:837:24: warning: passing argument 1 of 'dotfile_setvalue' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 837 | dotfile_setvalue("synthFileDir", (char*)&fd[fd_active].cpath); - | ^~~~~~~~~~~~~~ -dotfile.h:19:28: note: expected 'char *' but argument is of type 'const char *' - 19 | int dotfile_setvalue(char *key, char *value); - | ~~~~~~^~~ -synthesizer.c: In function 'synthlabel_draw': -synthesizer.c:852:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 852 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 160, 320, "", 0); - | ^~ -widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' - 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:874:57: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 874 | draw_button((DS_WIDTH/2)+112, (DS_HEIGHT/2)+32, 16, ">>", synth_ui[B_LABEL_INCSCALE]); - | ^~~~ widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ -synthesizer.c:875:57: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 875 | draw_button((DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, "<<", synth_ui[B_LABEL_DECSCALE]); - | ^~~~ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c: In function 'synthlabel_hover': -synthesizer.c:888:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 888 | synth_label_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2)+30, (DS_HEIGHT/2)-32, 16, 180); - | ^ -synthesizer.c:888:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 888 | synth_label_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2)+30, (DS_HEIGHT/2)-32, 16, 180); - | ^ -synthesizer.c:890:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 890 | synth_ui[B_LABEL_INCSCALE]=hovertest_box(x, y, (DS_WIDTH/2)+112, (DS_HEIGHT/2)+32, 16, 16); - | ^ -synthesizer.c:890:49: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 890 | synth_ui[B_LABEL_INCSCALE]=hovertest_box(x, y, (DS_WIDTH/2)+112, (DS_HEIGHT/2)+32, 16, 16); - | ^ -synthesizer.c:891:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 891 | synth_ui[B_LABEL_DECSCALE]=hovertest_box(x, y, (DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, 16); - | ^ -synthesizer.c:891:49: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 891 | synth_ui[B_LABEL_DECSCALE]=hovertest_box(x, y, (DS_WIDTH/2)-52, (DS_HEIGHT/2)+32, 16, 16); - | ^ -widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' - 37 | void draw_button(float x, float y, float size, char *label, int type); - | ~~~~~~^~~~~ -synthesizer.c:897:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 897 | synth_ui[B_HUE_PICKER]=hovertest_box(x, y, (DS_WIDTH/2)+21, (DS_HEIGHT/2)+2, 17, 162); - | ^ sequencer.c:1087:39: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1087 | draw_button(222, DS_HEIGHT-14, 16, "<<", seq_ui[B_SSHORTER]); | ^~~~ @@ -5656,19 +5700,6 @@ 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ sequencer.c: In function 'sequencer_draw_pattern': -patch.c: In function 'patch_modulator_keyboard': -patch.c:743:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] - 743 | *fptr&=fmask; - | ^~~~~ -patch.c:721:9: note: object 'f' of size 4 - 721 | float f; - | ^ -patch.c:743:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] - 743 | *fptr&=fmask; - | ^~~~~ -patch.c:721:9: note: object 'f' of size 4 - 721 | float f; - | ^ sequencer.c:1114:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1114 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 150, 240, "", 0); | ^~ @@ -5736,34 +5767,9 @@ sequencer.c:1151:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1151 | seq_ui[B_PATT_DECNUM]=hovertest_box(x, y, (DS_WIDTH/2)-102, (DS_HEIGHT/2)-30, 16, 16); | ^ -synthesizer.c:897:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 897 | synth_ui[B_HUE_PICKER]=hovertest_box(x, y, (DS_WIDTH/2)+21, (DS_HEIGHT/2)+2, 17, 162); - | ^ -synthesizer.c:898:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 898 | synth_ui[B_HUE_PICKER_BOX]=hovertest_box(x, y, (DS_WIDTH/2)+21+81+11, (DS_HEIGHT/2)+2, 17, 18); - | ^ -synthesizer.c:898:47: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 898 | synth_ui[B_HUE_PICKER_BOX]=hovertest_box(x, y, (DS_WIDTH/2)+21+81+11, (DS_HEIGHT/2)+2, 17, 18); - | ^ -synthesizer.c: In function 'synthlabel_click': -synthesizer.c:904:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 904 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 160, 320)) { dialog_close(); return; } - | ^ -synthesizer.c:904:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 904 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 160, 320)) { dialog_close(); return; } - | ^ -synthesizer.c:921:60: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 921 | float hue=1.0 + 254.0 * ( (x-((DS_WIDTH/2)+21-81) )/162.0); - | ^ -synthesizer.c:922:45: warning: conversion from 'double' to 'unsigned char' may change value [-Wfloat-conversion] - 922 | mod[csynth][synth_label_edit].color=floor(hue); - | ^~~~~ sequencer.c:1152:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1152 | seq_ui[B_PATT_ADDREP]=hovertest_box(x, y,(DS_WIDTH/2)+102, (DS_HEIGHT/2)-30, 16, 16); | ^ -synthesizer.c:933:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 933 | if (button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { - | ^ sequencer.c:1152:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1152 | seq_ui[B_PATT_ADDREP]=hovertest_box(x, y,(DS_WIDTH/2)+102, (DS_HEIGHT/2)-30, 16, 16); | ^ @@ -5785,22 +5791,12 @@ sequencer.c:1155:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1155 | seq_ui[B_PATT_DECTRANS]=hovertest_box(x, y,(DS_WIDTH/2)-16, (DS_HEIGHT/2)-4, 16, 16); | ^ -synthesizer.c:933:72: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 933 | if (button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { - | ^ sequencer.c:1156:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1156 | seq_ui[B_PATT_ADD]=hovertest_box(x, y,(DS_WIDTH/2)+40, (DS_HEIGHT/2)+60, 16, 100); | ^ -synthesizer.c: In function 'synthlabel_keyboard': sequencer.c:1156:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1156 | seq_ui[B_PATT_ADD]=hovertest_box(x, y,(DS_WIDTH/2)+40, (DS_HEIGHT/2)+60, 16, 100); | ^ -synthesizer.c:944:49: warning: unused parameter 'x' [-Wunused-parameter] - 944 | void synthlabel_keyboard(unsigned char key, int x, int y) - | ~~~~^ -synthesizer.c:944:56: warning: unused parameter 'y' [-Wunused-parameter] - 944 | void synthlabel_keyboard(unsigned char key, int x, int y) - | ~~~~^ sequencer.c:1157:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1157 | seq_ui[B_PATT_NEXTPATCH]=hovertest_box(x, y, (DS_WIDTH/2)+102, (DS_HEIGHT/2)+32, 16, 16); | ^ @@ -5883,12 +5879,25 @@ sequencer.c:1244:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1244 | seq_ui[B_CHAN_PREVSYNTH]=hovertest_box(x, y, (DS_WIDTH/2)-102, (DS_HEIGHT/2)-36, 16, 16); | ^ +patch.c: In function 'patch_modulator_click': +patch.c:626:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] + 626 | *fptr&=fmask; + | ^~~~~ sequencer.c:1246:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1246 | seq_ui[B_ENVRESTART]=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)-8, 8, 180); | ^ +patch.c:606:9: note: object 'f' of size 4 + 606 | float f; + | ^ +patch.c:626:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] + 626 | *fptr&=fmask; + | ^~~~~ sequencer.c:1246:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1246 | seq_ui[B_ENVRESTART]=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)-8, 8, 180); | ^ +patch.c:606:9: note: object 'f' of size 4 + 606 | float f; + | ^ sequencer.c:1248:38: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1248 | seq_ui[B_VCORESTART]=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)+4, 8, 180); | ^ @@ -5902,9 +5911,16 @@ 1250 | seq_ui[B_LFORESTART]=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)+20, 8, 180); | ^ sequencer.c: In function 'sequencer_channel_click': +widgets.c: In function 'draw_kboct': sequencer.c:1257:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1257 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ +widgets.c:484:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] + 484 | ckey+=bkj[i]; + | ~~~^~~ +widgets.c:466:12: note: within this loop + 466 | for(i=0;i<5;i++) { // black keys + | ~^~ sequencer.c:1257:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1257 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ @@ -5918,10 +5934,17 @@ sequencer.c:1298:56: warning: unused parameter 'x' [-Wunused-parameter] 1298 | void sequencer_channel_keyboard(unsigned char key, int x, int y) | ~~~~^ +widgets.c: In function 'draw_kbhoct': sequencer.c:1298:63: warning: unused parameter 'y' [-Wunused-parameter] 1298 | void sequencer_channel_keyboard(unsigned char key, int x, int y) | ~~~~^ +widgets.c:560:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] + 560 | ckey+=bkj[i]; + | ~~~^~~ sequencer.c: In function 'sequencer_draw_render': +widgets.c:531:12: note: within this loop + 531 | for(i=0;i<5;i++) { // black keys + | ~^~ sequencer.c:1326:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 1326 | dialog_open(&sequencer_draw_preview, &sequencer_preview_hover, &sequencer_preview_click); | ^~~~~~~~~~~~~~~~~~~~~~~ @@ -6076,18 +6099,31 @@ 19 | int dotfile_setvalue(char *key, char *value); | ~~~~~~^~~ sequencer.c: In function 'sequencer_draw_bpm': +patch.c: In function 'patch_modulator_keyboard': sequencer.c:1619:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1619 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 160, 240, "", 0); | ^~ widgets.h:38:71: note: expected 'char *' but argument is of type 'const char *' 38 | void draw_textbox(float x, float y, float height, float length, char *label, int type); | ~~~~~~^~~~~ +patch.c:743:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] + 743 | *fptr&=fmask; + | ^~~~~ +patch.c:721:9: note: object 'f' of size 4 + 721 | float f; + | ^ sequencer.c:1632:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1632 | draw_button((DS_WIDTH/2)+102, (DS_HEIGHT/2)-36, 16, ">>", seq_ui[B_BPM_INC]); | ^~~~ +patch.c:743:11: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'float[1]' [-Warray-bounds=] + 743 | *fptr&=fmask; + | ^~~~~ widgets.h:37:54: note: expected 'char *' but argument is of type 'const char *' 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ +patch.c:721:9: note: object 'f' of size 4 + 721 | float f; + | ^ sequencer.c:1633:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1633 | draw_button((DS_WIDTH/2)-102, (DS_HEIGHT/2)-36, 16, "<<", seq_ui[B_BPM_DEC]); | ^~~~ @@ -6209,34 +6245,6 @@ synthesizer.c:934:5: warning: '__builtin_strncpy' output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation] 934 | strncpy(mod[csynth][synth_label_edit].label, synth_label_text, 64); | ^ -patch.c: In function 'patch_draw_modulator': -patch.c:556:26: warning: '%s' directive writing up to 127 bytes into a region of size 124 [-Wformat-overflow=] - 556 | sprintf(tmps, "%02d %s %s", mi, modTypeNames[mod[csynth][mi].type], label); - | ^~ ~~~~~ -In file included from /usr/include/stdio.h:970, - from patch.h:16: -In function 'sprintf', - inlined from 'patch_draw_modulator' at patch.c:556:3: -/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 5 or more bytes (assuming 132) into a destination of size 128 - 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 31 | __glibc_objsize (__s), __fmt, - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 32 | __va_arg_pack ()); - | ~~~~~~~~~~~~~~~~~ -patch.c: In function 'patch_draw_modulator': -patch.c:556:26: warning: '%s' directive writing up to 127 bytes into a region of size 124 [-Wformat-overflow=] - 556 | sprintf(tmps, "%02d %s %s", mi, modTypeNames[mod[csynth][mi].type], label); - | ^~ ~~~~~ -In function 'sprintf', - inlined from 'patch_draw_modulator' at patch.c:556:3: -/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 5 or more bytes (assuming 132) into a destination of size 128 - 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 31 | __glibc_objsize (__s), __fmt, - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 32 | __va_arg_pack ()); - | ~~~~~~~~~~~~~~~~~ synthesizer.c: In function 'synth_init': synthesizer.c:100:11: warning: array subscript 64 is above array bounds of 'synthmodule[64]' [-Warray-bounds=] 100 | mod[s][m].outputpos=0; @@ -6266,6 +6274,34 @@ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ +patch.c: In function 'patch_draw_modulator': +patch.c:556:26: warning: '%s' directive writing up to 127 bytes into a region of size 124 [-Wformat-overflow=] + 556 | sprintf(tmps, "%02d %s %s", mi, modTypeNames[mod[csynth][mi].type], label); + | ^~ ~~~~~ +In file included from /usr/include/stdio.h:970, + from patch.h:16: +In function 'sprintf', + inlined from 'patch_draw_modulator' at patch.c:556:3: +/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 5 or more bytes (assuming 132) into a destination of size 128 + 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 31 | __glibc_objsize (__s), __fmt, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 32 | __va_arg_pack ()); + | ~~~~~~~~~~~~~~~~~ +patch.c: In function 'patch_draw_modulator': +patch.c:556:26: warning: '%s' directive writing up to 127 bytes into a region of size 124 [-Wformat-overflow=] + 556 | sprintf(tmps, "%02d %s %s", mi, modTypeNames[mod[csynth][mi].type], label); + | ^~ ~~~~~ +In function 'sprintf', + inlined from 'patch_draw_modulator' at patch.c:556:3: +/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 5 or more bytes (assuming 132) into a destination of size 128 + 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 31 | __glibc_objsize (__s), __fmt, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 32 | __va_arg_pack ()); + | ~~~~~~~~~~~~~~~~~ sequencer.c: In function 'sequencer_file_checkstate.part.0': sequencer.c:1574:40: warning: '%s' directive writing up to 254 bytes into a region of size 241 [-Wformat-overflow=] 1574 | sprintf(tmps, "Song saved as %s", fn); @@ -6318,8 +6354,8 @@ dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'komposter-dbgsym' in '../komposter-dbgsym_0+git20201216+ds1-1_arm64.deb'. dpkg-deb: building package 'komposter' in '../komposter_0+git20201216+ds1-1_arm64.deb'. +dpkg-deb: building package 'komposter-dbgsym' in '../komposter-dbgsym_0+git20201216+ds1-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../komposter_0+git20201216+ds1-1_arm64.buildinfo dpkg-genchanges --build=binary -O../komposter_0+git20201216+ds1-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -6327,12 +6363,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2178659/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/12267 and its subdirectories -I: Current time: Wed Sep 23 18:40:43 -12 2026 -I: pbuilder-time-stamp: 1790232043 +I: removing directory /srv/workspace/pbuilder/2178659 and its subdirectories +I: Current time: Fri Aug 22 14:18:25 +14 2025 +I: pbuilder-time-stamp: 1755821905