Diff of the two buildlogs: -- --- b1/build.log 2025-04-13 00:03:38.663592577 +0000 +++ b2/build.log 2025-04-13 00:05:26.677301693 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Apr 12 12:02:07 -12 2025 -I: pbuilder-time-stamp: 1744502527 +I: Current time: Sat May 16 20:26:40 +14 2026 +I: pbuilder-time-stamp: 1778912800 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -24,52 +24,84 @@ dpkg-source: info: applying u32.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3111739/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1941974/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-amd64. +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 May 16 06:26 /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/1941974/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1941974/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + 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]="x86_64-pc-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=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='f7545069bfa543ccb35aca59c530b92a' - 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='3111739' - PS1='# ' - PS2='> ' + INVOCATION_ID=26dcef5cd3644c8a9dc1a82b09b75308 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-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=1941974 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.R075x3KZ/pbuilderrc_AC1q --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.R075x3KZ/b1 --logfile b1/build.log komposter_0+git20201216+ds1-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.R075x3KZ/pbuilderrc_fhw3 --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.R075x3KZ/b2 --logfile b2/build.log komposter_0+git20201216+ds1-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos1-amd64 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3111739/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1941974/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -235,7 +267,7 @@ Get: 112 http://deb.debian.org/debian unstable/main amd64 mesa-common-dev amd64 25.0.3-1 [2918 kB] Get: 113 http://deb.debian.org/debian unstable/main amd64 pkgconf-bin amd64 1.8.1-4 [30.2 kB] Get: 114 http://deb.debian.org/debian unstable/main amd64 pkgconf amd64 1.8.1-4 [26.2 kB] -Fetched 75.2 MB in 2s (31.5 MB/s) +Fetched 75.2 MB in 11s (6618 kB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19840 files and directories currently installed.) @@ -708,7 +740,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/1941974/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1941974/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 @@ -895,7 +931,7 @@ sed -i s,-march=native,,g Makefile ln -sf /usr/share/fonts/opentype/ferrite-core/FerriteCoreDX-Medium.otf resources/m42.TTF dh_auto_build - make -j40 + make -j42 make[2]: Entering directory '/build/reproducible-path/komposter-0+git20201216+ds1' 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 -fcf-protection -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 about.o about.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 -fcf-protection -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 audio.o audio.c @@ -920,6 +956,10 @@ modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 152 | void calc_supersaw_tables(); | ^~~~ +In file included from fileops.c:19: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ In file included from dotfile.c:16: dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 16 | int dotfile_load(); @@ -950,10 +990,6 @@ | ^~~~~~~~~~~~ dotfile.c: In function 'dotfile_save': dotfile.c:78:5: warning: old-style function definition [-Wold-style-definition] -In file included from fileops.c:19: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ 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); @@ -964,133 +1000,17 @@ 152 | void calc_supersaw_tables(); | ^~~~ In file included from pattern.h:18, - from pattern.c:13: + from buffermm.h:17: audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 56 | int audio_exportwav(); //char *filename); | ^~~ -font.c:61:14: warning: no previous prototype for 'tpow2' [-Wmissing-prototypes] - 61 | unsigned int tpow2(unsigned int x) - | ^~~~~ shader.c:43:8: warning: no previous prototype for 'loadshader' [-Wmissing-prototypes] 43 | GLuint loadshader(char *fname, GLuint type) | ^~~~~~~~~~ -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; - | ^ 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ -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]]; - | ^~ -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); - | ^~~ -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; } - | ^~ -console.c: In function 'console_print': -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); - | ~~~~~^~~~ -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); - | ~^~ -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]]); - | ^ -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); - | ^ -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, @@ -1109,6 +1029,12 @@ 19 | render_text(K_VERSION, (DS_WIDTH/2)+120, (DS_HEIGHT/2)-32, 2, 0xffb05500, 2); | ^~~~~~~~~ about.c: In function 'about_hover': +In file included from widgets.h:23, + from dialog.h:16, + from filedialog.c:13: +modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 152 | void calc_supersaw_tables(); + | ^~~~ about.c:31:22: warning: unused parameter 'x' [-Wunused-parameter] 31 | void about_hover(int x, int y) | ~~~~^ @@ -1132,39 +1058,12 @@ 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 widgets.h:23, - from dialog.h:16, - from filedialog.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 pattern.h:22: -modules.h:152:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 152 | void calc_supersaw_tables(); - | ^~~~ -pattern.c: In function 'pattern_init': -pattern.c:100:6: warning: old-style function definition [-Wold-style-definition] - 100 | void pattern_init() - | ^~~~~~~~~~~~ -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] -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': -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); - | ^~~~~~~~~~~~~~~~~ filedialog.c: In function 'filedialog_draw': +In file included from pattern.h:18, + from pattern.c:13: +audio.h:56:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 56 | int audio_exportwav(); //char *filename); + | ^~~ filedialog.c:91:55: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 91 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 244, 420, "", 0); | ^~ @@ -1174,21 +1073,9 @@ filedialog.c:95:60: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 95 | draw_textbox((DS_WIDTH/2)-10, (DS_HEIGHT/2)-8, 160, 370, "", 0); | ^~ -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) && - | ^ 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); | ~~~~~~^~~~~ -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) && - | ^ -pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 37 | #define PIANOROLL_X KB_WIDTH+5.5 - | ^ -pattern.c:158:17: note: in expansion of macro 'PIANOROLL_X' - 158 | cx=(int)((x-PIANOROLL_X)/PIANOROLL_CELLWIDTH)-1; - | ^~~~~~~~~~~ filedialog.c:97:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 97 | fd->sliderpos, 12, fd->g.gl_pathc, | ~~^~~~~~~~~~~ @@ -1198,299 +1085,103 @@ filedialog.c:101:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] 101 | while ( (ig.gl_pathc) && (i<(fd->sliderpos+12)) ) { | ^ -pattern.c:159:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 159 | cy=abs((int)((y-PIANOROLL_Y-2)/PIANOROLL_CELLHEIGHT)); - | ^ filedialog.c:106:59: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] 106 | glVertex2f( ((DS_WIDTH/2)-195), ((DS_HEIGHT/2)-88) + (i-fd->sliderpos)*13); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ -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); - | ^ filedialog.c:107:63: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] 107 | glVertex2f( ((DS_WIDTH/2)-195)+370, ((DS_HEIGHT/2)-88) + (i-fd->sliderpos)*13); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ -pattern.c:172:36: 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); - | ^ -pattern.c:173:36: 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); - | ^ filedialog.c:108:85: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] 108 | glVertex2f( ((DS_WIDTH/2)-195)+370, ((DS_HEIGHT/2)-88) + (i-fd->sliderpos)*13+13); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ -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); - | ^ -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); - | ^ -pattern.c:174:38: 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); - | ^ filedialog.c:109:81: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] 109 | glVertex2f( ((DS_WIDTH/2)-195), ((DS_HEIGHT/2)-88) + (i-fd->sliderpos)*13+13); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ -pattern.c:175:34: 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); - | ^ -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); - | ^ -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); - | ^ -pattern.c:176:37: 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); - | ^ -pattern.c:177:36: 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); - | ^ -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); - | ^ -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); - | ^ -pattern.c:178:39: 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); - | ^ filedialog.c:119:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 119 | (DS_HEIGHT/2)-78+(i-fd->sliderpos)*13, 2, 0xcfa0a0c0, 0); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ -pattern.c:180:38: 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); - | ^ -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); - | ^ filedialog.c:122:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 122 | (DS_HEIGHT/2)-78+(i-fd->sliderpos)*13, 2, 0xcfa0a0c0, 2); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ -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); - | ^ -pattern.c:182:35: 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); - | ^ -pattern.c:183:34: 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); - | ^ -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); - | ^ -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); - | ^ -pattern.c:186:40: 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); - | ^ filedialog.c:129:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 129 | (DS_HEIGHT/2)-78+(i-fd->sliderpos)*13, 2, fcol, 0); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ filedialog.c:129:51: warning: conversion from 'long unsigned int' to 'unsigned int' may change value [-Wconversion] 129 | (DS_HEIGHT/2)-78+(i-fd->sliderpos)*13, 2, fcol, 0); | ^~~~ -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)); - | ^ -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, - | ^ -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)); - | ^~~~~~~~~~~ filedialog.c:136:56: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 136 | draw_button((DS_WIDTH/2)+192, (DS_HEIGHT/2)+100, 16, "OK", fd->hover[FDUI_OK]); | ^~~~ -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)); - | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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: In function 'pattern_mouse_drag': filedialog.c: In function 'filedialog_hover': filedialog.c:143:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 143 | fd->hover[FDUI_FILENAME]=hovertest_box(x, y, (DS_WIDTH/2)+20, (DS_HEIGHT/2)+100, 16, 300); | ^ -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 - | ^ filedialog.c:143:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 143 | fd->hover[FDUI_FILENAME]=hovertest_box(x, y, (DS_WIDTH/2)+20, (DS_HEIGHT/2)+100, 16, 300); | ^ -pattern.c:218:9: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] - 218 | cip=pattlen[cpatt]*(beats_per_measure*beatdiv); // cells in pattern - | ^~~~~~~ filedialog.c:144:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 144 | fd->hover[FDUI_OK]=hovertest_box(x, y, (DS_WIDTH/2)+192, (DS_HEIGHT/2)+100, 16, 16); | ^ filedialog.c:144:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 144 | fd->hover[FDUI_OK]=hovertest_box(x, y, (DS_WIDTH/2)+192, (DS_HEIGHT/2)+100, 16, 16); | ^ -pattern.c:220:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 220 | f=((x-slide_drag_xofs)/(sbw-slw))*(cip-cos); - | ^ filedialog.c:145:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 145 | fd->hover[FDUI_VSLIDER]=hovertest_vslider(x, y, | ^ -pattern.c:221:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 221 | piano_start=slide_drag_start+f; - | ^ filedialog.c:145:48: warning: conversion from 'int' to 'float' may change value [-Wconversion] 145 | fd->hover[FDUI_VSLIDER]=hovertest_vslider(x, y, | ^ filedialog.c:147:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 147 | fd->sliderpos, 12, fd->g.gl_pathc); | ~~^~~~~~~~~~~ -pattern.c:221:17: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 221 | piano_start=slide_drag_start+f; - | ^~~~~~~~~~~~~~~~ filedialog.c:147:29: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'float' may change value [-Wconversion] 147 | fd->sliderpos, 12, fd->g.gl_pathc); | ~~~~~^~~~~~~~~ filedialog.c:150:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] 150 | if (hovertest_box(x, y, (DS_WIDTH/2)-10, (DS_HEIGHT/2)-8, 160, 370)) { | ^ -pattern.c:222:46: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 222 | if (piano_start>(1+cip-cos)) piano_start=(1+cip-cos); - | ^ filedialog.c:150:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 150 | if (hovertest_box(x, y, (DS_WIDTH/2)-10, (DS_HEIGHT/2)-8, 160, 370)) { | ^ -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 - | ^~~~~~~~ filedialog.c: In function 'filedialog_click': -pattern.c: In function 'pattern_mouse_click': filedialog.c:164:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 164 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 244, 420)) { dialog_close(); return; } | ^ -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)) { - | ^~ filedialog.c:164:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 164 | if (state==GLUT_DOWN && !hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2), 244, 420)) { dialog_close(); return; } | ^ -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"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from pattern.h:19: -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -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; - | ^ filedialog.c:160:7: warning: variable 'r' set but not used [-Wunused-but-set-variable] 160 | int r; | ^ -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; - | ^ -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; - | ^ filedialog.c: In function 'filedialog_keyboard': -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; - | ^ filedialog.c:241:29: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 241 | textbox_edit(fd->fname, key, 45); | ^~~ -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--; - | ^ filedialog.c:259:27: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 259 | textbox_edit(fd->fname, key, 45); | ^~~ -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]; - | ^ filedialog.c: In function 'filedialog_drag': -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]; - | ^ 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 | ^~ -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]; - | ^ filedialog.c:273:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] 273 | f= ( (cip-cos) * (y - fd->slider_yofs) ) / (sbh-slh) ; | ^ -pattern.c:328:34: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 328 | for(i=0; isliderpos=fd->slider_dragstart+f; | ^ filedialog.c:274:19: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 274 | fd->sliderpos=fd->slider_dragstart+f; | ^~ -pattern.c:329:42: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 329 | patt_clipboard_len=pattlen[cpatt]*(beats_per_measure*beatdiv); - | ^ filedialog.c:275:48: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 275 | if (fd->sliderpos>(cip-cos)) fd->sliderpos=(cip-cos); | ^ filedialog.c:263:42: warning: unused parameter 'x' [-Wunused-parameter] 263 | void filedialog_drag(filedialog *fd, int x, int y) | ~~~~^ -pattern.c:330:22: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 330 | console_post("Current pattern copied to clipboard"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ -pattern.c:334:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 334 | for(i=0; i>6; | ^~~~~ -pattern.c:46:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 46 | #define PIANOROLL_OCTAVES 6 - | ^ -pattern.c:550:16: note: in expansion of macro 'PIANOROLL_OCTAVES' - 550 | lineheight=PIANOROLL_OCTAVES*12 - (((coct+PIANOROLL_OCTAVES)*12)-MAX_NOTE); - | ^~~~~~~~~~~~~~~~~ -pattern.c:553:42: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 553 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv)+1);i++,j++) { - | ^ +fileops.c:219:27: warning: passing argument 2 of 'load_chunk' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 219 | chunkdata=load_chunk(f, "KSYN"); + | ^~~~~~ +fileops.h:55:33: note: expected 'char *' but argument is of type 'const char *' + 55 | void* load_chunk(FILE *f, char *chunktype); + | ~~~~~~^~~~~~~~~ +fileops.c:228:42: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 228 | memcpy(&mod[syn], &chunkdata[8+128], nm*128); + | ~~^~~~ 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 | ^ -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++) { - | ^ +fileops.c: In function 'load_chunk_kbnk': +fileops.c:245:27: warning: passing argument 2 of 'load_chunk' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 245 | chunkdata=load_chunk(f, "KBNK"); + | ^~~~~~ +fileops.h:55:33: note: expected 'char *' but argument is of type 'const char *' + 55 | void* load_chunk(FILE *f, char *chunktype); + | ~~~~~~^~~~~~~~~ audio.c:394:17: warning: declaration of 'i' shadows a previous local [-Wshadow] 394 | for(int i=0;i<4;i++) { | ^ -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)) { - | ^ +fileops.c:253:12: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 253 | for(p=0;p audio_peak) audio_peak=fabs(p); | ^~~~ +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; + | ^~ 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); | ^~~~ -pattern.c:570:51: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] - 570 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y-lineheight)); //(PIANOROLL_OCTAVES*12)*PIANOROLL_CELLHEIGHT))); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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>6)>=piano_start && (ticks>>6)<(pattlen[cpatt]*(beats_per_measure*beatdiv)) ) // TODO: test if pos > pianostart+rollwidth - | ^ +fileops.c:304:98: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 304 | for(i=0;i>6)-piano_start; - | ^ +fileops.c:306:10: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 306 | filepos+=seqch*seqsonglen*4; + | ^~ +fileops.c:307:67: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 307 | for(i=0;i>10)) { // is there a pattern here? | ~~~~~^~~~ -pattern.c:585:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 585 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y-((PIANOROLL_OCTAVES*12)*PIANOROLL_CELLHEIGHT))); - | ^ +fileops.c:310:63: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 310 | for(i=0;i>10); | ~~~~~^~~~ -pattern.c:591:42: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 591 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv));i++,j++) { - | ^ +fileops.c:310:97: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 310 | for(i=0;i=(pattlen[pattern]*16)) pattpos-=(pattlen[pattern]*16); | ^~ -pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 37 | #define PIANOROLL_X KB_WIDTH+5.5 - | ^ -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); - | ^~~~~~~~~~~ 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); | ^~ -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); - | ^ -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); - | ^ 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); | ^ -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); - | ^ 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 | ^ -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); - | ^ +fileops.c: In function 'save_chunk_ksyn': +fileops.c:339:9: warning: conversion from 'long unsigned int' to 'unsigned int' may change value [-Wconversion] + 339 | dsize=nm*sizeof(synthmodule) + 128 + 8; + | ^~ audio.c:526:17: warning: declaration of 'i' shadows a previous local [-Wshadow] 526 | for(int i=0;i<4;i++) { | ^ -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(); - | ^~~ -pattern.c:601:33: 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); - | ^ audio.c:446:7: note: shadowed declaration is here 446 | int i, voice; | ^ +fileops.c:356:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'unsigned int' may change value [-Wconversion] + 356 | m=fwrite(filedata, sizeof(char), dsize+8, f); + | ^~~~~~ +fileops.c: In function 'save_chunk_kbnk': +fileops.c:374:56: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 374 | while(signalfifo[syn][m]>=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } + | ^ 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); | ~~~~~~~~~~~~~~~~~~~^~~~ +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++; } + | ^~~~~~~~~~ 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); | ^~~~~ +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); + | ^ 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); | ^~~~ -synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ +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': 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); | ^~~~ +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); + | ^~~~~~ +audio.c:562:13: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 562 | oldtick=ticks; + | ^~~~~ +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; + | ^~ +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); + | ^~~~~~ +audio.c: In function 'audio_resetsynth': +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); + | ^~~~~~ +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)); + | ^ +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); + | ^~~~~ +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; + | ^ +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;ifmask, ext, 255); + | ^ +pattern.c: In function 'pattern_init': +pattern.c:100:6: warning: old-style function definition [-Wold-style-definition] + 100 | void pattern_init() + | ^~~~~~~~~~~~ +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] +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': +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); + | ^~~~~~~~~~~~~~~~~ +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) && + | ^ +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/x86_64-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)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +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) && + | ^ +pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 37 | #define PIANOROLL_X KB_WIDTH+5.5 + | ^ +pattern.c:158:17: note: in expansion of macro 'PIANOROLL_X' + 158 | cx=(int)((x-PIANOROLL_X)/PIANOROLL_CELLWIDTH)-1; + | ^~~~~~~~~~~ +pattern.c:159:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 159 | cy=abs((int)((y-PIANOROLL_Y-2)/PIANOROLL_CELLHEIGHT)); + | ^ +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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:172:36: 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); + | ^ +pattern.c:173:36: 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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:174:38: 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); + | ^ +pattern.c:175:34: 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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:176:37: 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); + | ^ +pattern.c:177:36: 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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:178:39: 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); + | ^ +pattern.c:180:38: 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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:182:35: 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); + | ^ +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(); + | ^~~ +pattern.c:183:34: 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); + | ^ +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); + | ^ +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); + | ^ +pattern.c:186:40: 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); + | ^ +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)); + | ^ +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, + | ^ +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)); + | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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 + | ^ +pattern.c:218:9: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 218 | cip=pattlen[cpatt]*(beats_per_measure*beatdiv); // cells in pattern + | ^~~~~~~ +pattern.c:220:10: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 220 | f=((x-slide_drag_xofs)/(sbw-slw))*(cip-cos); + | ^ +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); @@ -1834,35 +1853,36 @@ 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); | ^~~~~~~~~~~ -audio.c:562:13: warning: conversion from 'long int' to 'int' may change value [-Wconversion] - 562 | oldtick=ticks; - | ^~~~~ -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); - | ^ -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); - | ^~~~~~~~~~~ -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); - | ^ -audio.c: In function 'audio_resetsynth': -pattern.c:602:70: 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); - | ^ +pattern.c:221:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 221 | piano_start=slide_drag_start+f; + | ^ +pattern.c:221:17: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 221 | piano_start=slide_drag_start+f; + | ^~~~~~~~~~~~~~~~ +pattern.c:222:46: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 222 | if (piano_start>(1+cip-cos)) piano_start=(1+cip-cos); + | ^ +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 + | ^~~~~~~~ +pattern.c: In function 'pattern_mouse_click': +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)) { + | ^~ 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); | ^ +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"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ synthesizer.c:179:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] 179 | yd=y-(list[m].y+OUTPUT_OFFSET); | ^ -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)); - | ^ +In file included from pattern.h:19: +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ synthesizer.c:180:9: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] 180 | d=sqrt(xd*xd+yd*yd); | ^~~~ @@ -1873,50 +1893,51 @@ synthesizer.c:52:13: note: shadowed declaration is here 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; | ^~~ -pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 37 | #define PIANOROLL_X KB_WIDTH+5.5 - | ^ -pattern.c:607:15: note: in expansion of macro 'PIANOROLL_X' - 607 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH+1, - | ^~~~~~~~~~~ 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 ]); | ^ +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; + | ^ 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); | ^~~~ -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; - | ^ -pattern.c:607:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 607 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH+1, - | ^ +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; + | ^ +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); + | ^~~ +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; + | ^ synthesizer.c: At top level: +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; + | ^ synthesizer.c:240:6: warning: no previous prototype for 'synth_open_addmodule' [-Wmissing-prototypes] 240 | void synth_open_addmodule(void) | ^~~~~~~~~~~~~~~~~~~~ -pattern.c:608:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 608 | PIANOROLL_Y-2-(n-coct*12+1)*PIANOROLL_CELLHEIGHT, - | ^ 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; | ^ +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--; + | ^ 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; | ^ -pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 37 | #define PIANOROLL_X KB_WIDTH+5.5 - | ^ -pattern.c:611:15: note: in expansion of macro 'PIANOROLL_X' - 611 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, - | ^~~~~~~~~~~ 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; | ^ +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--; + | ^ 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); | ^~~~~~~~~~~~~~~~~~~~~ @@ -1924,64 +1945,60 @@ dialog.h:22:24: note: expected 'void *' but argument is of type 'void (*)(void)' 22 | void dialog_open(void *draw, void *hover, void *click); | ~~~~~~^~~~ -pattern.c:611:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 611 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, - | ^ +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(); + | ^~~~ 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); | ~~~~~~^~~~~ -audio.c:637:5: warning: switch missing default case [-Wswitch-default] - 637 | switch(mt) { - | ^~~~~~ 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); | ~~~~~~^~~~~ -pattern.c:612:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 612 | PIANOROLL_Y-2-(n-coct*12+1)*PIANOROLL_CELLHEIGHT, - | ^ +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]; + | ^ 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); | ~~~~~~^~~~~~ +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]; + | ^ synthesizer.c: In function 'synth_mouse_hover': -audio.c: At top level: 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); | ^ +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]; + | ^ 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); | ^ -pattern.c:634:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 634 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ 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); | ^ -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': +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]; + | ^ 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); | ^ -audio.c:698:5: warning: old-style function definition [-Wold-style-definition] 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); | ^ -pattern.c:634:68: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 634 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ 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); | ^ @@ -1991,73 +2008,69 @@ 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); | ^ -pattern.c:635:29: 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); - | ^ +pattern.c:328:34: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 328 | for(i=0; ifmask, ext, 255); - | ^ -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:485:48: warning: unused parameter 'x' [-Wunused-parameter] + 485 | void pattern_keyboardup(unsigned char key, int x, int y) + | ~~~~^ synthesizer.c:457:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 457 | dragoffset_y=y-mod[csynth][m].y; | ^ -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]; - | ^~~~~~~~ synthesizer.c:457:22: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 457 | dragoffset_y=y-mod[csynth][m].y; | ^ -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:485:55: warning: unused parameter 'y' [-Wunused-parameter] + 485 | void pattern_keyboardup(unsigned char key, int x, int y) + | ~~~~^ +pattern.c: In function 'pattern_draw': 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]; | ^~~~~~~~~~~~~ -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); - | ^ -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/x86_64-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)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ +pattern.c:517:49: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 517 | if ((coct+i)<10)draw_kboct(round(PIANOROLL_Y-(12*PIANOROLL_CELLHEIGHT*i)), 40, 12, coct+i, piano_note, rkdown); + | ^ 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); | ~~~~~~^~~~ -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:517:32: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 517 | if ((coct+i)<10)draw_kboct(round(PIANOROLL_Y-(12*PIANOROLL_CELLHEIGHT*i)), 40, 12, coct+i, piano_note, rkdown); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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); | ~~~~~~^~~~~ -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); - | ^ +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); + | ~^~ 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); | ~~~~~~^~~~~ -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); - | ^ +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); + | ^ 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); | ~~~~~~^~~~~~ -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:529:95: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 529 | glVertex2f(PIANOROLL_X, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ synthesizer.c: In function 'synth_keyboard': -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:530:46: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 530 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~ -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); - | ^ 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); | ^~~~~~ -pattern.c:683:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 683 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' 58 | void filedialog_open(filedialog *fd, char *ext, char *path); | ~~~~~~^~~ -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:530:74: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 530 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~ +pattern.c:530:30: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 530 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~~ -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, - | ^ 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); | ~~~~~~^~~~~ -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:530:120: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 530 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~~~ -pattern.c:686:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 686 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); - | ^ 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); | ~~~~~~^~~~~~~~ -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:531:46: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 531 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-((j+1)*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~ -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:531:74: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 531 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-((j+1)*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ^~~~~~ -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, - | ^ filedialog.h:58:44: note: expected 'char *' but argument is of type 'const char *' 58 | void filedialog_open(filedialog *fd, char *ext, char *path); | ~~~~~~^~~ -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:531:30: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 531 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-((j+1)*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~ -pattern.c:692:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 692 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); - | ^ 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); | ~~~~~~^~~~~ +pattern.c:531:120: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 531 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-((j+1)*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~~ -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:532:95: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 532 | glVertex2f(PIANOROLL_X, PIANOROLL_Y-((j+1)*PIANOROLL_CELLHEIGHT)); + | ^ 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); | ~~~~~~^~~~~~ -pattern.c:699:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 699 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, - | ^~~~~~~~~~~ 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); | ~~~~~~^~~~~~~~ -pattern.c:700:18: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] - 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), - | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ synthesizer.c:514:44: warning: unused parameter 'x' [-Wunused-parameter] 514 | void synth_keyboard(unsigned char key, int x, int y) | ~~~~^ +pattern.c:540:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 540 | glVertex2f(PIANOROLL_X, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ synthesizer.c:514:51: warning: unused parameter 'y' [-Wunused-parameter] 514 | void synth_keyboard(unsigned char key, int x, int y) | ~~~~^ +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); + | ^ +synthesizer.c: In function 'synth_specialkey': +pattern.c:541:43: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 541 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ +synthesizer.c:555:3: warning: switch missing default case [-Wswitch-default] + 555 | switch(key) + | ^~~~~~ +pattern.c:541:71: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 541 | glVertex2f(PIANOROLL_X+(pattlen[cpatt]*(beats_per_measure*beatdiv)-piano_start)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(j*PIANOROLL_CELLHEIGHT)); + | ^ +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); + | ^ +synthesizer.c:553:46: warning: unused parameter 'x' [-Wunused-parameter] + 553 | void synth_specialkey(unsigned char key, int x, int y) + | ~~~~^ +pattern.c:541:27: warning: conversion from 'unsigned 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)); + | ^ +synthesizer.c:553:53: warning: unused parameter 'y' [-Wunused-parameter] + 553 | void synth_specialkey(unsigned char key, int x, int y) + | ~~~~^ +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); + | ^ +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)); + | ^ +pattern.c:46:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 46 | #define PIANOROLL_OCTAVES 6 + | ^ +pattern.c:550:16: note: in expansion of macro 'PIANOROLL_OCTAVES' + 550 | lineheight=PIANOROLL_OCTAVES*12 - (((coct+PIANOROLL_OCTAVES)*12)-MAX_NOTE); + | ^~~~~~~~~~~~~~~~~ +synthesizer.c: In function 'synth_draw': +pattern.c:553:42: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 553 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv)+1);i++,j++) { + | ^ +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); + | ~~~~~~^~~~~ +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++) { + | ^ +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); + | ~~~~~~^~~~~ +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)) { + | ^ +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); + | ~~~~~~^~~~~ +pattern.c:560:22: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 560 | if ((j%b)==0 && j<(pattlen[cpatt]*b)) { + | ^ +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); + | ~~~~~~^~~~~ +pattern.c:563:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 563 | render_text(tmps, 2.5+PIANOROLL_X+(i*PIANOROLL_CELLWIDTH), round(PIANOROLL_Y+PIANOROLL_CELLHEIGHT), 2, 0xffa0a0a0, 0); + | ^ +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); + | ~~~~~~^~~~~ +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)); + | ^ +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; + | ^ +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))); + | ^ +synthesizer.c:663:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 663 | yd=(DS_HEIGHT/10)*j - mod[csynth][k].y; + | ^ +pattern.c:570:51: warning: conversion from 'double' to 'GLfloat' {aka 'float'} may change value [-Wfloat-conversion] + 570 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y-lineheight)); //(PIANOROLL_OCTAVES*12)*PIANOROLL_CELLHEIGHT))); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +synthesizer.c:664:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 664 | d=sqrt(xd*xd+yd*yd); + | ^~~~ +pattern.c:577:19: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 577 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index + | ^ +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; + | ^~~ +pattern.c:577:11: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] + 577 | ticks=playpos / (OUTPUTFREQ/(bpm*256/60)); // calc tick from sample index + | ^~~~~~~ +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(); + | ^~~~ +pattern.c:578:63: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 578 | if ( (ticks>>6)>=piano_start && (ticks>>6)<(pattlen[cpatt]*(beats_per_measure*beatdiv)) ) // TODO: test if pos > pianostart+rollwidth + | ^ +synthesizer.c: In function 'synth_draw_addmodule': +pattern.c:581:9: warning: conversion from 'long int' to 'int' may change value [-Wconversion] + 581 | i=(ticks>>6)-piano_start; + | ^ +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); + | ~~~~~~^~~~~ +pattern.c:584:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 584 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y+PIANOROLL_CELLHEIGHT)); + | ^ +pattern.c:585:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 585 | glVertex2f(PIANOROLL_X+i*PIANOROLL_CELLWIDTH, round(PIANOROLL_Y-((PIANOROLL_OCTAVES*12)*PIANOROLL_CELLHEIGHT))); + | ^ +synthesizer.c: In function 'synth_addmodule_click': +pattern.c:591:42: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 591 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv));i++,j++) { + | ^ +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; } + | ^ +pattern.c:591:26: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] + 591 | for(i=0,j=piano_start;j<(pattlen[cpatt]*(beats_per_measure*beatdiv));i++,j++) { + | ^ +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; } + | ^ +font.c:61:14: warning: no previous prototype for 'tpow2' [-Wmissing-prototypes] + 61 | unsigned int tpow2(unsigned int x) + | ^~~~~ +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)) { + | ^ +pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 37 | #define PIANOROLL_X KB_WIDTH+5.5 + | ^ +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); + | ^~~~~~~~~~~ +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)) { + | ^ +font.c: In function 'font_init': +synthesizer.c: In function 'synth_addmodule_keyboard': +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); + | ^ +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]); + | ~~~~~~~~^~~ +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(); + | ^~~ +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); + | ^~ +synthesizer.c:747:54: warning: unused parameter 'x' [-Wunused-parameter] + 747 | void synth_addmodule_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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); + | ^ +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; + | ^~~~ +synthesizer.c:747:61: warning: unused parameter 'y' [-Wunused-parameter] + 747 | void synth_addmodule_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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); + | ^ +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); + | ^~~~~ +synthesizer.c: In function 'synth_file_keyboard': +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); + | ^~~~~ +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); + | ^ +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)); + | ~~~~^~~~~ +synthesizer.c:770:49: warning: unused parameter 'x' [-Wunused-parameter] + 770 | void synth_file_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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++) + | ^ +pattern.c:601:33: 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); + | ^ +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; + | ^ +synthesizer.c:770:56: warning: unused parameter 'y' [-Wunused-parameter] + 770 | void synth_file_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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; + | ^ +synthesizer.c: In function 'synth_file_checkstate': +font.c: In function 'render_text': +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); + | ~~~~~~^~~ +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: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]]; + | ^~ +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)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +In file included from modules.c:22: +sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 33 | void sequencer_init(); + | ^~~~ +font.c:171:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] + 171 | if (align==1) xp-=(sw/2); + | ^~ +sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 80 | void sequencer_bpm_close_dialog(); + | ^~~~ +font.c:172:19: warning: conversion from 'long unsigned int' to 'float' may change value [-Wconversion] + 172 | if (align==2) xp-=sw; + | ^~ +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; + | ^~~~~~~~~~ +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); + | ~~~~~~^~~ +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; } + | ^~ +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)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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(); + | ^~~~ +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); + | ~~~~~^~~~ +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); + | ^ +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]]); + | ^ +synthesizer.c:827:26: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 827 | console_post("Readinf file failed (KSYN chunk)"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ +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); + | ^~~~~~~~~~~ +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]]); + | ^ +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); + | ^ +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); + | ~~~~~~^~~ +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]]); + | ^ +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"}; + | ^~~~~~~ +filedialog.c: In function 'filedialog_draw': +pattern.c:602:70: 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); + | ^ +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]]); + | ^ +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] +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"}; + | ^~~~~ +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); + | ^~~~~~~~~~~~~~ +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); + | ^ +dotfile.h:19:28: note: expected 'char *' but argument is of type 'const char *' + 19 | int dotfile_setvalue(char *key, char *value); + | ~~~~~~^~~ +filedialog.c:114:41: note: length computed here + 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~ +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]], + | ^ +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"}; + | ^~~~~~~~~~ +synthesizer.c: In function 'synthlabel_draw': +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(); + | ^~~~ +filedialog.c:116:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] + 116 | strncpy(tmps, rindex(ttmps, '/')+1, 255); + | ^ +pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 37 | #define PIANOROLL_X KB_WIDTH+5.5 + | ^ +pattern.c:607:15: note: in expansion of macro 'PIANOROLL_X' + 607 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH+1, + | ^~~~~~~~~~~ +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]], + | ^ +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"}; + | ^~~~~~ +widgets.c: In function 'draw_module': +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]]); + | ^ +modules.c:312:40: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; + | ^~~~~~~~ +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); + | ~~~~~~~~~~~~~~~~~~~~~~~~^~ +pattern.c:607:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 607 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH+1, + | ^ +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); + | ~~~~~~^~~~~ +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]]); + | ^ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~ +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"}; + | ^~~~~~~~~~ +pattern.c:608:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 608 | PIANOROLL_Y-2-(n-coct*12+1)*PIANOROLL_CELLHEIGHT, + | ^ +font.c:189:20: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 189 | glVertex2f(xp+font_xoffset[fontnr][(int)text[n]], + | ^ +modules.c:312:69: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; + | ^~~~~~ +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]]); + | ^ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +modules.c:313:32: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; + | ^~~~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +pattern.c:37:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 37 | #define PIANOROLL_X KB_WIDTH+5.5 + | ^ +pattern.c:611:15: note: in expansion of macro 'PIANOROLL_X' + 611 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, + | ^~~~~~~~~~~ +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]]); + | ^ +dialog.c: In function 'dialog_open': +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +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.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; + | ^ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +dialog.c:45:19: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 45 | dialog_clickfunc=click; + | ^ +font.c:194:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 194 | xp+=font_advance[fontnr][(int)text[n]]; + | ^~ +dialog.c: In function 'dialog_bindkeyboard': +modules.c:313:50: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; + | ^~~~~~~~~~ +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]); + | ^~~~ +dialog.c:51:16: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 51 | dialog_kbfunc=kbfunc; + | ^ +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:611:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 611 | l+PIANOROLL_X+i*PIANOROLL_CELLWIDTH, + | ^ +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': +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]); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ +dialog.c:61:21: warning: ISO C forbids assignment between function pointer and 'void *' [-Wpedantic] + 61 | dialog_specialfunc=specialfunc; + | ^ +modules.c:313:62: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; + | ^~~~~~~~~~ +modules.c:314:36: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; + | ^~~~~~~~~~~~~ +pattern.c:612:26: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 612 | PIANOROLL_Y-2-(n-coct*12+1)*PIANOROLL_CELLHEIGHT, + | ^ +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); + | ~~~~~~^~~~~ +modules.c:314:51: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; + | ^~~~~~~~~~~~~~~~ +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); + | ~~~~~~^~~~~ +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); + | ~~~~~~^~~~~ +modules.c:315:34: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; + | ^~~~~~~~ +modules.c:315:44: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; + | ^~~~~~~~~~~~~ +synthesizer.c: In function 'synthlabel_hover': +pattern.c:634:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 634 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +widgets.c: In function 'draw_signal_node': +pattern.c:634:68: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 634 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~ +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); + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~ +pattern.c:635:29: 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); + | ^ +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); + | ^ +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); +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); + | ^ +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); + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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); + | ^ +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); + | ^ +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}; + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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}; + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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); + | ^ +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] +pattern.c:636:68: 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); + | ^ +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); + | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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; + | ^ +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.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); +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; + | ^~~ +pattern.c:637:31: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 637 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +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); +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; + | ^ +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); + | ^ +modules.c: At top level: +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); +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': +pattern.c:637:66: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 637 | glVertex2f(1+PIANOROLL_X+j*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +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); +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; } + | ^~~~~~~~~~~ +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); + | ^ +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; } + | ^~~~~~~~~~~ +widgets.c: In function 'draw_text': +modules.c: At top level: +widgets.c:198:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 198 | xd += glutBitmapWidth(MODULE_FONT,*c); + | ^~ +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': +pattern.c:645:7: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 645 | n=pattdata[cpatt][piano_start+piano_porta_drag]; + | ^~~~~~~~ +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) { + | ^~~~~~~~~~~ +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); + | ^ +widgets.c:203:3: warning: switch missing default case [-Wswitch-default] + 203 | switch (align) { + | ^~~~~~ +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': +widgets.c:212:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 212 | x1 += glutBitmapWidth(MODULE_FONT,*c); + | ^~ +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); } + | ^~~~~~~~~~~ +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); + | ^ +pattern.c:648:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 648 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +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); } + | ^~~~~~~~~~~ +synthesizer.c: In function 'synthlabel_click': +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) { + | ^~~~~~~~~~~ +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; } + | ^ +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: +pattern.c:648:81: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 648 | glVertex2f(1+PIANOROLL_X+piano_porta_drag*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +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': +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; } + | ^ +modules.c:403:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 403 | mod_fdata[0]-=floor(mod_fdata[0]); + | ^~~~~ +modules.c:407:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 407 | mod_fdata[1]-=floor(mod_fdata[1]); + | ^~~~~ +pattern.c:649:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 649 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c:416:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 416 | case VCO_TRIANGLE: out=(mod_fdata[0]<0.75) ? 1-fabs(mod_fdata[0]*4-1) : 1-fabs(mod_fdata[0]*4-5); break; + | ^ +pattern.c:649:102: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 649 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +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); + | ^ +modules.c:417:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 417 | case VCO_SINE: out=sin(2*3.1415926* mod_fdata[0]); break; + | ^~~ +modules.c:412:3: warning: switch missing default case [-Wswitch-default] + 412 | switch((int)(*mod)) + | ^~~~~~ +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); + | ^ +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); + | ^~~~~ +modules.c:426:29: warning: conversion from 'unsigned int' to 'float' changes value from '4294967295' to '4.2949673e+9f' [-Wfloat-conversion] + 426 | out+=ms[3]*(noise_x2*(2.0f/0xffffffff)); + | ^ +modules.c:426:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 426 | out+=ms[3]*(noise_x2*(2.0f/0xffffffff)); + | ^ +modules.c: At top level: +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); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_lfo' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:433:1: note: in expansion of macro 'MODULE_FUNC' + 433 | MODULE_FUNC(lfo) { // low-frequency oscillator, input is freq in hz, cv output (0 to 1.0) + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_lfo': +modules.c:440:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 440 | mod_fdata[0]-=floor(mod_fdata[0]); + | ^~~~~ +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 )) { + | ^ +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); + | ^ +widgets.c: In function 'draw_kboct': +modules.c:444:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 444 | case LFO_SINE: out=-0.5*(cos(2*3.1415926*mod_fdata[0])-1); break; + | ^ +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 )) { + | ^ +modules.c:442:3: warning: switch missing default case [-Wswitch-default] + 442 | switch((int)(*mod)) { + | ^~~~~~ +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); + | ^ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_env' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:453:1: note: in expansion of macro 'MODULE_FUNC' + 453 | MODULE_FUNC(env) // linear adsr envelope generator + | ^~~~~~~~~~~ +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); + | ^ +synthesizer.c: In function 'synthlabel_keyboard': +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); + | ^ +modules.c: In function 'modfunc_env': +modules.c:470:16: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 470 | mod_ldata[1]=gate[v]; // save current gate + | ^~~~ +synthesizer.c:944:49: warning: unused parameter 'x' [-Wunused-parameter] + 944 | void synthlabel_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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); + | ^ +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]) { + | ^~ +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:453:1: note: in expansion of macro 'MODULE_FUNC' + 453 | MODULE_FUNC(env) // linear adsr envelope generator + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_vcf' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:475:1: note: in expansion of macro 'MODULE_FUNC' + 475 | MODULE_FUNC(vcf) // 12db/oct resonant state variable low-/high-/bandpass filter + | ^~~~~~~~~~~ +synthesizer.c:944:56: warning: unused parameter 'y' [-Wunused-parameter] + 944 | void synthlabel_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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); + | ^ +modules.c: In function 'modfunc_vcf': +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); + | ^ +modules.c:487:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 487 | f = 2*sin(3.14159 * ms[1]); // cutoff in [0.0, 1.0] + | ^ +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); + | ^ +modules.c:489:5: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 489 | r=sqrt(q); + | ^~~~ +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); + | ^ +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); + | ^ +modules.c:496:3: warning: switch missing default case [-Wswitch-default] + 496 | switch((int)(*mod)) { + | ^~~~~~ +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); + | ^ +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:475:1: note: in expansion of macro 'MODULE_FUNC' + 475 | MODULE_FUNC(vcf) // 12db/oct resonant state variable low-/high-/bandpass filter + | ^~~~~~~~~~~ +modules.c: At top level: +pattern.c:658:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 658 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_delay' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:509:1: note: in expansion of macro 'MODULE_FUNC' + 509 | MODULE_FUNC(delay) + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_delay': +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); + | ^ +modules.c:27:20: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion] + 27 | #define mod_ldata ((u32*)data) + | ^ +modules.c:515:12: note: in expansion of macro 'mod_ldata' + 515 | writeptr=mod_ldata[2]; + | ^~~~~~~~~ +pattern.c:658:104: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 658 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-1-(n-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c:521:24: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 521 | if (ms[2]>1) loopend=ms[2]; // use loop input if greater than 1 sample + | ^~ +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)); + | ^ +pattern.c:659:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 659 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c:534:16: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 534 | mod_ldata[2]=(writeptr+1)%loopend; + | ^ +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)); + | ^ +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:509:1: note: in expansion of macro 'MODULE_FUNC' + 509 | MODULE_FUNC(delay) + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_dist' [-Wmissing-prototypes] + 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 + | ^~~~~~~~~~~ +pattern.c:659:102: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 659 | glVertex2f(PIANOROLL_X+(piano_porta_drag+piano_porta_drag_len)*PIANOROLL_CELLWIDTH, PIANOROLL_Y-(n-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c: In function 'modfunc_dist': +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)); + | ^ +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); + | ^~~ +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 + | ^~~~~~~~~~~ +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); + | ^ +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)); + | ^ +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 + | ^~~~~~~~~~~ +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:540:1: note: in expansion of macro 'MODULE_FUNC' + 540 | MODULE_FUNC(dist) { // simple clipping distort + | ^~~~~~~~~~~ +modules.c: At top level: +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)); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_resample' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:569:1: note: in expansion of macro 'MODULE_FUNC' + 569 | MODULE_FUNC(resample) { // sample-and-hold + | ^~~~~~~~~~~ +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); + | ^ +modules.c: In function 'modfunc_resample': +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)); + | ^ +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:569:1: note: in expansion of macro 'MODULE_FUNC' + 569 | MODULE_FUNC(resample) { // sample-and-hold + | ^~~~~~~~~~~ +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:569:1: note: in expansion of macro 'MODULE_FUNC' + 569 | MODULE_FUNC(resample) { // sample-and-hold + | ^~~~~~~~~~~ +modules.c: At top level: +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]; + | ^~~~~~~~ +modules.h:29:39: warning: no previous prototype for 'modfunc_cv' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:583:1: note: in expansion of macro 'MODULE_FUNC' + 583 | MODULE_FUNC(cv) { return *mod; } + | ^~~~~~~~~~~ +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)); + | ^ +modules.c: In function 'modfunc_cv': +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:583:1: note: in expansion of macro 'MODULE_FUNC' + 583 | MODULE_FUNC(cv) { return *mod; } + | ^~~~~~~~~~~ +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)); + | ^ +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:583:1: note: in expansion of macro 'MODULE_FUNC' + 583 | MODULE_FUNC(cv) { return *mod; } + | ^~~~~~~~~~~ +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); + | ^ +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:583:1: note: in expansion of macro 'MODULE_FUNC' + 583 | MODULE_FUNC(cv) { return *mod; } + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_amp' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:584:1: note: in expansion of macro 'MODULE_FUNC' + 584 | MODULE_FUNC(amp) { return ms[0]*ms[1]; } + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_amp': +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:584:1: note: in expansion of macro 'MODULE_FUNC' + 584 | MODULE_FUNC(amp) { return ms[0]*ms[1]; } + | ^~~~~~~~~~~ +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); + | ^ +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:584:1: note: in expansion of macro 'MODULE_FUNC' + 584 | MODULE_FUNC(amp) { return ms[0]*ms[1]; } + | ^~~~~~~~~~~ +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:584:1: note: in expansion of macro 'MODULE_FUNC' + 584 | MODULE_FUNC(amp) { return ms[0]*ms[1]; } + | ^~~~~~~~~~~ +modules.c: At top level: +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); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_att' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:585:1: note: in expansion of macro 'MODULE_FUNC' + 585 | MODULE_FUNC(att) { return ms[0]* *mod; } + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_att': +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:585:1: note: in expansion of macro 'MODULE_FUNC' + 585 | MODULE_FUNC(att) { 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:585:1: note: in expansion of macro 'MODULE_FUNC' + 585 | MODULE_FUNC(att) { return ms[0]* *mod; } + | ^~~~~~~~~~~ +modules.c: At top level: +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); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_mixer' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:586:1: note: in expansion of macro 'MODULE_FUNC' + 586 | MODULE_FUNC(mixer) { return ms[0]+ms[1]+ms[2]+ms[3]; } + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_mixer': +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:586:1: note: in expansion of macro 'MODULE_FUNC' + 586 | MODULE_FUNC(mixer) { return ms[0]+ms[1]+ms[2]+ms[3]; } + | ^~~~~~~~~~~ +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); + | ^ +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:586:1: note: in expansion of macro 'MODULE_FUNC' + 586 | MODULE_FUNC(mixer) { return ms[0]+ms[1]+ms[2]+ms[3]; } + | ^~~~~~~~~~~ +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:586:1: note: in expansion of macro 'MODULE_FUNC' + 586 | MODULE_FUNC(mixer) { return ms[0]+ms[1]+ms[2]+ms[3]; } + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_lpf24' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:590:1: note: in expansion of macro 'MODULE_FUNC' + 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass + | ^~~~~~~~~~~ +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); + | ^ +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); + | ^ +modules.c: In function 'modfunc_lpf24': +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); + | ^ +modules.c:613:19: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 613 | return mod_ddata[3]; //out4; + | ^ +widgets.c:508:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 508 | glVertex2f(x+(j+1)*kw, y); + | ^ +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:590:1: note: in expansion of macro 'MODULE_FUNC' + 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass + | ^~~~~~~~~~~ +widgets.c:509:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 509 | glVertex2f(x+(j+1)*kw, y+kh); + | ^ +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:590:1: note: in expansion of macro 'MODULE_FUNC' + 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass + | ^~~~~~~~~~~ +modules.c: At top level: +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); + | ^ +modules.h:29:39: warning: no previous prototype for 'modfunc_bitcrush' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:625:1: note: in expansion of macro 'MODULE_FUNC' + 625 | MODULE_FUNC(bitcrush) { + | ^~~~~~~~~~~ +modules.c: In function 'modfunc_bitcrush': +widgets.c:510:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 510 | glVertex2f(x+j*kw, y+kh); + | ^ +modules.c:627:12: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 627 | int rate=ms[1]*32766+1; + | ^~ +modules.c:628:10: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 628 | int in=ms[0]*32767; + | ^~ +pattern.c:683:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 683 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +widgets.c:514:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 514 | glVertex2f(x+j*kw, y); + | ^ +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:625:1: note: in expansion of macro 'MODULE_FUNC' + 625 | MODULE_FUNC(bitcrush) { + | ^~~~~~~~~~~ +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:625:1: note: in expansion of macro 'MODULE_FUNC' + 625 | MODULE_FUNC(bitcrush) { + | ^~~~~~~~~~~ +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, + | ^ +widgets.c:515:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 515 | glVertex2f(x+(j+1)*kw, y); + | ^ +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:625:1: note: in expansion of macro 'MODULE_FUNC' + 625 | MODULE_FUNC(bitcrush) { + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_slew' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:641:1: note: in expansion of macro 'MODULE_FUNC' + 641 | MODULE_FUNC(slew) { // slew limiter: ms[0] = cv input, ms[1] = rate + | ^~~~~~~~~~~ +widgets.c:516:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 516 | glVertex2f(x+(j+1)*kw, y+kh); + | ^ +modules.c: In function 'modfunc_slew': +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, + | ^ +modules.c:29:20: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 29 | #define mod_ddata ((double*)data) + | ^ +modules.c:644:12: note: in expansion of macro 'mod_ddata' + 644 | float fp=mod_ddata[0]; + | ^~~~~~~~~ +widgets.c:517:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 517 | glVertex2f(x+j*kw, y+kh); + | ^ +modules.c:647:5: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 647 | k=((int)(*mod)) ? -log2(1-ms[1]) : ms[1]; + | ^ +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); + | ^ +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, + | ^ +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:641:1: note: in expansion of macro 'MODULE_FUNC' + 641 | MODULE_FUNC(slew) { // slew limiter: ms[0] = cv input, ms[1] = rate + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_envdet' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +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 + | ^~~~~~~~~~~ +pattern.c:686:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 686 | PIANOROLL_Y-1-(kpkeydown-coct*12)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c: In function 'modfunc_envdet': +widgets.c:537:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 537 | glVertex2f(x+j*kw+(0.7*kw), y); + | ^ +modules.c:663:23: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 663 | float attack_coef = exp(log(0.01)/ms[1]); + | ^~~ +modules.c:664:24: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 664 | float release_coef = exp(log(0.01)/ms[2]); + | ^~~ +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, + | ^ +widgets.c:538:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 538 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); + | ^ +modules.c:666:13: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 666 | float tmp=fabs(ms[0]); + | ^~~~ +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)); + | ^ +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, + | ^ +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:658:1: note: in expansion of macro 'MODULE_FUNC' + 658 | MODULE_FUNC(envdet) { // envelope follower: ms[0] = input, ms[1] = attack, ms[2] = release + | ^~~~~~~~~~~ +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)); + | ^ +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:658:1: note: in expansion of macro 'MODULE_FUNC' + 658 | MODULE_FUNC(envdet) { // envelope follower: ms[0] = input, ms[1] = attack, ms[2] = release + | ^~~~~~~~~~~ +modules.c: At top level: +modules.h:29:39: warning: no previous prototype for 'modfunc_supersaw' [-Wmissing-prototypes] + 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) + | ^~~~~~~~ +modules.c:684:1: note: in expansion of macro 'MODULE_FUNC' + 684 | MODULE_FUNC(supersaw) { + | ^~~~~~~~~~~ +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, + | ^ +modules.c: In function 'modfunc_supersaw': +widgets.c:544:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 544 | glVertex2f(x+j*kw+(0.7*kw), y); + | ^ +modules.c:692:12: warning: conversion from 'double' to 'int' may change value [-Wfloat-conversion] + 692 | m_detune=(127 * clamp(ms[1])); + | ^ +pattern.c:689:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 689 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c:693:9: warning: conversion from 'double' to 'int' may change value [-Wfloat-conversion] + 693 | m_mix=(127 * clamp(ms[2])); + | ^ +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)); + | ^ +pattern.c:692:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 692 | PIANOROLL_Y-(kpkeydown-coct*12+1)*PIANOROLL_CELLHEIGHT); + | ^ +modules.c:683:25: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 683 | #define sawtooth(ac) (1.0+2.0*sqrt(ac)) + | ^ +modules.c:698:10: note: in expansion of macro 'sawtooth' + 698 | out+=sawtooth(mod_fdata[i])*supersaw_mix[m_mix][i]; + | ^~~~~~~~ +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)); + | ^ +modules.c:700:19: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 700 | mod_fdata[i]-=floor(mod_fdata[i]); + | ^~~~~ +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), + | ^ +modules.c:704:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 704 | f = 2*sin(3.14159 * m_pitch); // cutoff in [0.0, 1.0] + | ^ +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); + | ^ +pattern.c:699:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 699 | piano_start, (DS_WIDTH-(PIANOROLL_X+4))/PIANOROLL_CELLWIDTH, + | ^~~~~~~~~~~ +modules.c:706:5: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] + 706 | r=sqrt(q); + | ^~~~ +pattern.c:700:18: warning: conversion from 'unsigned int' to 'float' may change value [-Wconversion] + 700 | pattlen[cpatt]*(beats_per_measure*beatdiv), + | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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:684:1: note: in expansion of macro 'MODULE_FUNC' + 684 | MODULE_FUNC(supersaw) { + | ^~~~~~~~~~~ +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:684:1: note: in expansion of macro 'MODULE_FUNC' + 684 | MODULE_FUNC(supersaw) { + | ^~~~~~~~~~~ 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]); | ^~~~ -synthesizer.c: In function 'synth_specialkey': 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:555:3: warning: switch missing default case [-Wswitch-default] - 555 | switch(key) - | ^~~~~~ 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); | ~~~~~~^~~~~ -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) - | ~~~~^ 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); | ~~~~~~^~~~~ +widgets.c: In function 'hovertest_hslider': 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.c:709:21: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 709 | if (hit) return (x-slx); + | ~~^~~~~ 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_draw': 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); | ~~~~~~^~~~~ -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); - | ~~~~~~^~~~~ +widgets.c: In function 'textbox_edit': 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); | ~~~~~~^~~~~ +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_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); - | ~~~~~~^~~~~ +widgets.c:739:51: warning: conversion to 'char' from 'unsigned char' may change the sign of the result [-Wsign-conversion] + 739 | { text[strlen(text)+1]='\0'; text[strlen(text)]=key; } + | ^~~ +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); + | ^~~ 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); | ~~~~~~^~~~~ -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); - | ~~~~~~^~~~~ 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)); | ^ -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]); - | ^~~ 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)); | ^~~~~~~ -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); - | ~~~~~~^~~~~ +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(); + | ^~~ 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]); | ^~~ @@ -2592,25 +3887,12 @@ 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': 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]); | ^~~ -synthesizer.c:662:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 662 | xd=(DS_WIDTH/10)*i - mod[csynth][k].x; - | ^ 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: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; - | ^~~ In file included from synthesizer.h:29, from buffermm.h:18: dotfile.h:16:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] @@ -2619,16 +3901,6 @@ dotfile.h:17:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 17 | int dotfile_save(); | ^~~ -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); - | ~~~~~~^~~~~ synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] 84 | void synth_stackify(int syn); | ^~~~~~~~~~~~~~ @@ -2636,60 +3908,105 @@ fileops.h:62:6: note: previous declaration of 'synth_stackify' with type 'void(int)' 62 | void synth_stackify(int syn); | ^~~~~~~~~~~~~~ -synthesizer.c: In function 'synth_addmodule_click': 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: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; } - | ^ +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(); | ^~~~ +patch.c: In function 'patch_init': +patch.c:96:6: warning: old-style function definition [-Wold-style-definition] + 96 | void patch_init() + | ^~~~~~~~~~ sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] 80 | void sequencer_bpm_close_dialog(); | ^~~~ -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; } - | ^ -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:171:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] 171 | void sequencer_init() | ^~~~~~~~~~~~~~ sequencer.c: In function 'sequencer_init': sequencer.c:171:6: warning: old-style function definition [-Wold-style-definition] -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)) { - | ^ +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); + | ^ sequencer.c: At top level: -synthesizer.c: In function 'synth_addmodule_keyboard': +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); + | ^ sequencer.c:240:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] 240 | void sequencer_toggleplayback() { | ^~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c: In function 'sequencer_toggleplayback': sequencer.c:240:6: warning: old-style function definition [-Wold-style-definition] +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); + | ^ sequencer.c: In function 'sequencer_ispattern': -synthesizer.c:747:54: warning: unused parameter 'x' [-Wunused-parameter] - 747 | void synth_addmodule_keyboard(unsigned char key, int x, int y) - | ~~~~^ 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])) { | ^ 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])) { | ^ +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); + | ^ sequencer.c:265:37: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 265 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { | ^ -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: In function 'sequencer_patternstart': sequencer.c:281:69: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 281 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { @@ -2697,9 +4014,6 @@ sequencer.c:281:41: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 281 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { | ^ -synthesizer.c:770:49: warning: unused parameter 'x' [-Wunused-parameter] - 770 | void synth_file_keyboard(unsigned char key, int x, int y) - | ~~~~^ sequencer.c:281:37: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 281 | if (clickpos >= i && clickpos < (i+pattlen[seq_pattern[ch][i]]*seq_repeat[ch][i])) { | ^ @@ -2707,35 +4021,25 @@ 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) | ^~~~~~~~~~~~~~~~~~~ -synthesizer.c:770:56: warning: unused parameter 'y' [-Wunused-parameter] - 770 | void synth_file_keyboard(unsigned char key, int x, int y) - | ~~~~^ +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); + | ^ sequencer.c: In function 'sequencer_cursorpos': -synthesizer.c: In function 'synth_file_checkstate': sequencer.c:304:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 304 | x < (SEQUENCER_X + seqsonglen*SEQUENCER_CELLWIDTH + 1) && | ^ sequencer.c:306:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 306 | y < (SEQUENCER_Y + seqch*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); - | ~~~~~~^~~ sequencer.c:309:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 309 | cx=(int)((x-SEQUENCER_X)/SEQUENCER_CELLWIDTH); | ^ sequencer.c:310:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 310 | cy=(int)((y-SEQUENCER_Y)/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)"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ sequencer.c:318:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 318 | x < (SEQUENCER_X + seqsonglen*SEQUENCER_CELLWIDTH + 1) && | ^ @@ -2752,12 +4056,6 @@ sequencer.c:333:5: warning: no previous prototype for 'sequencer_timelinepos' [-Wmissing-prototypes] 333 | int sequencer_timelinepos(int x, int y) { | ^~~~~~~~~~~~~~~~~~~~~ -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); - | ~~~~~~^~~ sequencer.c: In function 'sequencer_timelinepos': sequencer.c:337:24: warning: conversion from 'int' to 'float' may change value [-Wconversion] 337 | x < (SEQUENCER_X + seqsonglen*SEQUENCER_CELLWIDTH + 1) && @@ -2775,94 +4073,74 @@ sequencer.c:351:33: 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); | ^ -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)"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ 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); | ^ 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); | ^ -synthesizer.c:827:26: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 827 | console_post("Readinf file failed (KSYN chunk)"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +patch.c:174:7: warning: switch missing default case [-Wswitch-default] + 174 | switch (key) { + | ^~~~~~ sequencer.c:352:36: 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); | ^ -console.h:23:25: note: expected 'char *' but argument is of type 'const char *' - 23 | void console_post(char *msg); - | ~~~~~~^~~ sequencer.c:357:31: 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); | ^ +patch.c: In function 'patch_mouse_drag': 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); | ^ 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); | ^ +patch.c:201:27: warning: unused parameter 'x' [-Wunused-parameter] + 201 | void patch_mouse_drag(int x, int y) + | ~~~~^ 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); | ^ -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); - | ~~~~~~^~~ 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); | ^ +patch.c:201:34: warning: unused parameter 'y' [-Wunused-parameter] + 201 | void patch_mouse_drag(int x, int y) + | ~~~~^ 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.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); - | ~~~~~~^~~ 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); | ^ -synthesizer.c: In function 'synthlabel_draw': 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); | ^ -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); - | ~~~~~~^~~~~ 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); | ^ +patch.c: In function 'patch_mouse_click': sequencer.c:364:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 364 | seq_ui[B_CLEAR]=hovertest_box(x, y, 462, DS_HEIGHT-14, 16, 16); | ^ sequencer.c:364:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 364 | seq_ui[B_CLEAR]=hovertest_box(x, y, 462, DS_HEIGHT-14, 16, 16); | ^ +patch.c:217:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] + 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; + | ^~ sequencer.c:365:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 365 | seq_ui[B_REWIND]=hovertest_box(x, y, 440, DS_HEIGHT-14, 16, 16); | ^ -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); - | ~~~~~~^~~~~ sequencer.c:365:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 365 | seq_ui[B_REWIND]=hovertest_box(x, y, 440, DS_HEIGHT-14, 16, 16); | ^ +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; + | ^~~~~~ 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); | ^ @@ -2875,22 +4153,12 @@ sequencer.c:369:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 369 | seq_ui[B_LOOP]=hovertest_box(x, y, 630, DS_HEIGHT-14, 16, 48); | ^ -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); - | ~~~~~~^~~~~ sequencer.c:373:36: 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); | ^ -synthesizer.c: In function 'synthlabel_hover': 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); | ^ -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: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); | ^ @@ -2900,21 +4168,24 @@ 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, | ^ -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); - | ^ +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"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 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, | ^ 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, | ^ +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); + | ~~~~~~^~~ sequencer.c:382:4: warning: conversion from 'int' to 'float' may change value [-Wconversion] 382 | seq_start, (DS_WIDTH-(SEQUENCER_X+4))/SEQUENCER_CELLWIDTH, seqsonglen); | ^~~~~~~~~ -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:382:63: warning: conversion from 'int' to 'float' may change value [-Wconversion] 382 | seq_start, (DS_WIDTH-(SEQUENCER_X+4))/SEQUENCER_CELLWIDTH, seqsonglen); | ^~~~~~~~~~ @@ -2924,13 +4195,13 @@ sequencer.c:396:15: warning: conversion from 'int' to 'float' may change value [-Wconversion] 396 | m=(int)((y-SEQUENCER_Y)/SEQUENCER_CELLHEIGHT); | ^ -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); - | ^ +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"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c: In function 'sequencer_mouse_drag': -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); - | ^ +console.h:23:25: note: expected 'char *' but argument is of type 'const char *' + 23 | void console_post(char *msg); + | ~~~~~~^~~ sequencer.c:412:9: warning: conversion from 'int' to 'float' may change value [-Wconversion] 412 | cip=seqsonglen; //pattlen[cpatt]*16; // cells in pattern | ^~~~~~~~~~ @@ -2940,21 +4211,12 @@ sequencer.c:415:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 415 | seq_start=seqslide_drag_start+f; | ^ -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: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: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); - | ^ -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: In function 'sequencer_mouse_click': 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"); @@ -2970,9 +4232,6 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -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: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); | ^~~~~~~~~~~~~~~~~~~ @@ -2980,43 +4239,52 @@ 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: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': 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); | ^~~~~~~~~~~~~~~~~~~~ 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); | ~~~~~~^~~~~ +filedialog.c: In function 'filedialog_click': +filedialog.c:203:9: warning: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Wstringop-truncation] + 203 | strncpy(ttmps, fd->g.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); + | ^ sequencer.c:477:64: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 477 | dialog_open(&sequencer_draw_bpm, &sequencer_bpm_hover, &sequencer_bpm_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); | ~~~~~~^~~~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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: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; } - | ^ +filedialog.c:205:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] + 205 | strncpy(tmps, rindex(ttmps, '/')+1, 255); + | ^ +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); + | ^ 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: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; } - | ^ +filedialog.c:180:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] + 180 | strncat(fd->fullpath, fd->fmask+1, 512); + | ^ 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]]; | ^ +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 ]); + | ~~~~~~~~~~~~~~~^~~~~~ 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); | ^~~~~~~~~~~~~~~~~~~~~~ @@ -3029,13 +4297,9 @@ 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: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); - | ^ -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); - | ^~~ +patch.c:341:42: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] + 341 | patch_modulator_intval=modvalue[ csynth ][cpatch[csynth]][ mi ]; + | ^~~~~~~~ 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); | ^~~~~~~~~~~~~~~~~~~~~~~ @@ -3048,88 +4312,116 @@ 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:922:45: warning: conversion from 'double' to 'unsigned char' may change value [-Wfloat-conversion] - 922 | mod[csynth][synth_label_edit].color=floor(hue); - | ^~~~~ +patch.c:334:15: warning: switch missing default case [-Wswitch-default] + 334 | switch(modModulatorTypes[mod[csynth][mi].type]) { + | ^~~~~~ 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); | ~~~~~~^~~ -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(); - | ^~~~ 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); | ^~~~~~~ -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 )) { - | ^ 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); | ~~~~~~^~~ +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); + | ~~~~~~^~~~ 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: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: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: In function 'synthlabel_keyboard': +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); + | ^~~~~~~~~~~~~~~~~~~~~~ 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); | ^~~~~~~~~~~~~~~~~~~~~ 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:944:49: warning: unused parameter 'x' [-Wunused-parameter] - 944 | void synthlabel_keyboard(unsigned char key, int x, int y) - | ~~~~^ +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:517:29: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 517 | dialog_bindkeyboard(&sequencer_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:944:56: warning: unused parameter 'y' [-Wunused-parameter] - 944 | void synthlabel_keyboard(unsigned char key, int x, int y) - | ~~~~^ 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); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~~ +In function 'strncat', + inlined from 'filedialog_click' at filedialog.c:177:5: +/usr/include/x86_64-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)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ 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"); | ^~~~~~~~~~~~~ +In function 'strncat', + inlined from 'filedialog_click' at filedialog.c:180:7: dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' 18 | char *dotfile_getvalue(char *key); | ~~~~~~^~~ +/usr/include/x86_64-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)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +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: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); | ~~~~~~^~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~ 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); | ^~~~~~~~~~~~~~~~~~~~ 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:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' + 23 | void dialog_bindkeyboard(void *kbfunc); + | ~~~~~~^~~~~~ +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(); + | ^~~~ 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); | ^~~~~~~~~~~~~~~~~~~~~ @@ -3142,35 +4434,37 @@ 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); | ~~~~~~^~~~~ -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); - | ^ +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); + | ~~~~~~^~~~~~~~~~~ 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ -filedialog.c:114:41: note: length computed here - 114 | strncpy(ttmps, fd->g.gl_pathv[i], strlen(fd->g.gl_pathv[i])-1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ -filedialog.c:116:7: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 116 | strncpy(tmps, rindex(ttmps, '/')+1, 255); - | ^ 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); | ^~~~~~~~~~~~~~~~~~~~ dialog.h:31:28: note: expected 'void *' but argument is of type 'void (*)(int, int)' 31 | void dialog_binddrag(void *dragfunc); | ~~~~~~^~~~~~~~ +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); + | ~~~~~~^~~ 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!"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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); + | ^~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ @@ -3186,38 +4480,53 @@ 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: In function 'patch_keyboard': 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ 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:378:3: warning: switch missing default case [-Wswitch-default] + 378 | switch (key) { + | ^~~~~~ sequencer.c:583:31: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 583 | dialog_bindkeyboard(&sequencer_channel_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ dialog.h:23:32: note: expected 'void *' but argument is of type 'void (*)(unsigned char, int, int)' 23 | void dialog_bindkeyboard(void *kbfunc); | ~~~~~~^~~~~~ -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(); - | ^~~~ 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]]; | ^ +patch.c:367:44: warning: unused parameter 'x' [-Wunused-parameter] + 367 | void patch_keyboard(unsigned char key, int x, int y) + | ~~~~^ 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]]; | ^~~~~~~~~~ +In file included from synthesizer.h:29, + from buffermm.h:18, + from main.c:30: +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(); + | ^~~ +patch.c:367:51: warning: unused parameter 'y' [-Wunused-parameter] + 367 | void patch_keyboard(unsigned char key, int x, int y) + | ~~~~^ sequencer.c:624:24: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 624 | console_post("Patterns"); | ^~~~~~~~~~ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -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); - | ^ +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) + | ~~~~^ 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); | ^~~~~~~~~~~~~~~~~~~~~~~ @@ -3227,62 +4536,43 @@ 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ 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 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(); - | ^~~~ +patch.c:401:53: warning: unused parameter 'y' [-Wunused-parameter] + 401 | void patch_keyboardup(unsigned char key, int x, int y) + | ~~~~^ 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ 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); | ~~~~~~^~~~~ -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); - | ^~~ -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); - | ^ 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); | ~~~~~~^~~~~~ +patch.c: In function 'patch_specialkey': 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); | ~~~~~~^~~~ +patch.c:419:3: warning: switch missing default case [-Wswitch-default] + 419 | switch(key) + | ^~~~~~ 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); | ~~~~~~^~~~~ -In file included from synthesizer.h:29, - from buffermm.h:18, - from main.c:30: -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(); - | ^~~ +patch.c:417:46: warning: unused parameter 'x' [-Wunused-parameter] + 417 | void patch_specialkey(unsigned char key, int x, int y) + | ~~~~^ 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); | ^~~~~~~~~~~~~~~~~~~~~~~~ @@ -3295,47 +4585,60 @@ 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:417:53: warning: unused parameter 'y' [-Wunused-parameter] + 417 | void patch_specialkey(unsigned char key, int x, int y) + | ~~~~^ sequencer.c: In function 'sequencer_keyboard': +synthesizer.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] + 84 | void synth_stackify(int syn); + | ^~~~~~~~~~~~~~ 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); | ~~~~~~^~~ +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_draw': 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); | ^~~~~~~ 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.h:84:6: warning: redundant redeclaration of 'synth_stackify' [-Wredundant-decls] - 84 | void synth_stackify(int syn); - | ^~~~~~~~~~~~~~ +patch.c:460:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 460 | glVertex2f(x+16, 8+m*16-yd); + | ~^~~ sequencer.c:709:17: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 709 | 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); | ~~~~~~^~~~ -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 main.c:40: +sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 33 | void sequencer_init(); + | ^~~~ 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); | ~~~~~~^~~~~ -In file included from main.c:40: -sequencer.h:33:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 33 | void sequencer_init(); +patch.c:460:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 460 | glVertex2f(x+16, 8+m*16-yd); + | ~~~~~~^~~ +sequencer.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 80 | void sequencer_bpm_close_dialog(); | ^~~~ 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); @@ -3343,24 +4646,24 @@ 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.h:80:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 80 | void sequencer_bpm_close_dialog(); - | ^~~~ +patch.c:461:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 461 | glVertex2f(x+380, 8+m*16-yd); + | ~^~~~ sequencer.c:710:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 710 | dialog_bindkeyboard(&sequencer_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); | ~~~~~~^~~~~~ +main.c:79:6: warning: no previous prototype for 'mouse_hoverfunc' [-Wmissing-prototypes] + 79 | void mouse_hoverfunc(int x, int y) + | ^~~~~~~~~~~~~~~ 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); | ~~~~~~^~~~~~~~ -main.c:79:6: warning: no previous prototype for 'mouse_hoverfunc' [-Wmissing-prototypes] - 79 | void mouse_hoverfunc(int x, int y) - | ^~~~~~~~~~~~~~~ main.c: In function 'mouse_hoverfunc': main.c:87:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 87 | main_ui[MAIN_PAGE1]=hovertest_box(x,y,DS_WIDTH-159, DS_HEIGHT-14, 16, 16); @@ -3374,6 +4677,15 @@ main.c:88:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 88 | main_ui[MAIN_PAGE2]=hovertest_box(x,y,DS_WIDTH-137, DS_HEIGHT-14, 16, 16); | ^ +patch.c:461:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 461 | glVertex2f(x+380, 8+m*16-yd); + | ~~~~~~^~~ +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"); + | ^~~~~~~~~~~~~ +dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' + 18 | char *dotfile_getvalue(char *key); + | ~~~~~~^~~ main.c:89:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 89 | main_ui[MAIN_PAGE3]=hovertest_box(x,y,DS_WIDTH-115, DS_HEIGHT-14, 16, 16); | ^ @@ -3386,47 +4698,74 @@ main.c:90:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 90 | main_ui[MAIN_PAGE4]=hovertest_box(x,y,DS_WIDTH-93, DS_HEIGHT-14, 16, 16); | ^ +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); + | ~~~~~~^~~ main.c:91:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 91 | main_ui[MAIN_ABOUT]=hovertest_box(x,y,DS_WIDTH-42,DS_HEIGHT-14, 16, 73); | ^ main.c:91:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 91 | main_ui[MAIN_ABOUT]=hovertest_box(x,y,DS_WIDTH-42,DS_HEIGHT-14, 16, 73); | ^ -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"); - | ^~~~~~~~~~~~~ main.c:92:37: warning: conversion from 'int' to 'float' may change value [-Wconversion] 92 | main_ui[MAIN_PANIC]=hovertest_box(x, y, DS_WIDTH-206, DS_HEIGHT-14, 16, 16); | ^ -dotfile.h:18:30: note: expected 'char *' but argument is of type 'const char *' - 18 | char *dotfile_getvalue(char *key); - | ~~~~~~^~~ main.c:92:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] 92 | main_ui[MAIN_PANIC]=hovertest_box(x, y, DS_WIDTH-206, DS_HEIGHT-14, 16, 16); | ^ +patch.c:462:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 462 | glVertex2f(x+380, 24+m*16-yd); + | ~^~~~ +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); + | ~~~~~~^~~~ main.c:93:34: warning: conversion from 'int' to 'float' may change value [-Wconversion] 93 | main_ui[MAIN_VU]=hovertest_box(x,y,728, DS_HEIGHT-14, 16, 100); | ^ main.c:93:36: warning: conversion from 'int' to 'float' may change value [-Wconversion] 93 | main_ui[MAIN_VU]=hovertest_box(x,y,728, DS_HEIGHT-14, 16, 100); | ^ +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); + | ~~~~~~^~~~~ main.c: At top level: main.c:105:6: warning: no previous prototype for 'mouse_dragfunc' [-Wmissing-prototypes] 105 | void mouse_dragfunc(int x, int y) | ^~~~~~~~~~~~~~ +patch.c:462:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 462 | glVertex2f(x+380, 24+m*16-yd); + | ~~~~~~~^~~ main.c:123:6: warning: no previous prototype for 'mouse_clickfunc' [-Wmissing-prototypes] 123 | void mouse_clickfunc(int button, int state, int x, int y) | ^~~~~~~~~~~~~~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~ +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); + | ~~~~~~^~~~~ main.c: In function 'mouse_clickfunc': -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); - | ~~~~~~^~~ main.c:130:47: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 130 | if (main_ui[MAIN_PAGE1]) { console_post("Synthesizers"); cpage=1; return; } | ^~~~~~~~~~~~~~ +patch.c:463:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 463 | glVertex2f(x+16, 24+m*16-yd); + | ~^~~ +sequencer.c:720:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] + 720 | dialog_bindkeyboard(&sequencer_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); + | ~~~~~~^~~~~~ 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 *' @@ -3438,12 +4777,12 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -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); - | ~~~~~~^~~~ +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); + | ~~~~~~^~~~~~~~ main.c:132:47: warning: passing argument 1 of 'console_post' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 132 | if (main_ui[MAIN_PAGE3]) { console_post("Patterns"); cpage=3; return; } | ^~~~~~~~~~ @@ -3456,12 +4795,12 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ -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); - | ~~~~~~^~~~~ +patch.c:463:32: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] + 463 | glVertex2f(x+16, 24+m*16-yd); + | ~~~~~~~^~~ +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]]; + | ^ main.c:134:46: warning: ISO C forbids passing argument 1 of 'dialog_open' 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; } | ^~~~~~~~~~~ @@ -3474,12 +4813,9 @@ 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: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); - | ^~~~~~~~~~~~~~~~~~~~~ -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: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]]; + | ^ main.c:134:73: warning: ISO C forbids passing argument 3 of 'dialog_open' 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; } | ^~~~~~~~~~~~ @@ -3492,50 +4828,48 @@ 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:720:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] - 720 | dialog_bindkeyboard(&sequencer_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: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]]; + | ^ 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); | ~~~~~~^~~ -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); - | ~~~~~~^~~~~~~~ +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); + | ~^~~ main.c: At top level: +sequencer.c:690:3: warning: switch missing default case [-Wswitch-default] + 690 | switch (key) { + | ^~~~~~ main.c:155:6: warning: no previous prototype for 'keyboardfunc' [-Wmissing-prototypes] 155 | void keyboardfunc(unsigned char key, int x, int y) | ^~~~~~~~~~~~ main.c:168:6: warning: no previous prototype for 'keyboardupfunc' [-Wmissing-prototypes] 168 | void keyboardupfunc(unsigned char key, int x, int y) | ^~~~~~~~~~~~~~ -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]]; - | ^ +sequencer.c:682:48: warning: unused parameter 'x' [-Wunused-parameter] + 682 | void sequencer_keyboard(unsigned char key, int x, int y) + | ~~~~^ +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); + | ~~~~~~~~^~~ main.c:179:6: warning: no previous prototype for 'specialkeyfunc' [-Wmissing-prototypes] 179 | void specialkeyfunc(int key, int x, int y) | ^~~~~~~~~~~~~~ main.c: In function 'specialkeyfunc': -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]]; - | ^ +sequencer.c:682:55: warning: unused parameter 'y' [-Wunused-parameter] + 682 | void sequencer_keyboard(unsigned char key, int x, int y) + | ~~~~^ main.c:186:39: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 186 | case MAIN_PAGE1: synth_specialkey(key, x, y); break; | ^~~ main.c:187:39: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 187 | case MAIN_PAGE2: patch_specialkey(key, x, y); break; | ^~~ -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: In function 'sequencer_draw': main.c:188:41: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] 188 | case MAIN_PAGE3: pattern_specialkey(key, x, y); break; | ^~~ @@ -3548,6 +4882,12 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ +sequencer.c:759:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 759 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+(j*SEQUENCER_CELLHEIGHT)); + | ^ +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); + | ~^~~ 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; } | ^~~~~~~~~ @@ -3560,41 +4900,43 @@ console.h:23:25: note: expected 'char *' but argument is of type 'const char *' 23 | void console_post(char *msg); | ~~~~~~^~~ +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)); + | ^ 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); | ~~~~~~^~~ -sequencer.c:690:3: warning: switch missing default case [-Wswitch-default] - 690 | switch (key) { - | ^~~~~~ main.c: At top level: main.c:212:6: warning: no previous prototype for 'update' [-Wmissing-prototypes] 212 | void update(int value) | ^~~~~~ +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)); + | ^ main.c:222:7: warning: no previous prototype for 'audio_playback' [-Wmissing-prototypes] 222 | void *audio_playback(void *param) | ^~~~~~~~~~~~~~ +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); + | ~~~~~~~~^~~ main.c: In function 'audio_playback': -sequencer.c:682:48: warning: unused parameter 'x' [-Wunused-parameter] - 682 | void sequencer_keyboard(unsigned char key, int x, int y) - | ~~~~^ main.c:224:7: warning: variable 'rc' set but not used [-Wunused-but-set-variable] 224 | int rc; | ^~ main.c:222:28: warning: unused parameter 'param' [-Wunused-parameter] 222 | void *audio_playback(void *param) | ~~~~~~^~~~~ -sequencer.c:682:55: warning: unused parameter 'y' [-Wunused-parameter] - 682 | void sequencer_keyboard(unsigned char key, int x, int y) - | ~~~~^ main.c: At top level: +sequencer.c:768:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 768 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+2)*SEQUENCER_CELLHEIGHT)); + | ^ main.c:233:7: warning: no previous prototype for 'audio_renderer' [-Wmissing-prototypes] 233 | void *audio_renderer(void *param) | ^~~~~~~~~~~~~~ main.c: In function 'audio_renderer': -sequencer.c: In function 'sequencer_draw': main.c:235:7: warning: variable 'rc' set but not used [-Wunused-but-set-variable] 235 | int rc; | ^~ @@ -3602,16 +4944,16 @@ 233 | void *audio_renderer(void *param) | ~~~~~~^~~~~ main.c: At top level: -sequencer.c:759:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 759 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+(j*SEQUENCER_CELLHEIGHT)); - | ^ +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)); + | ^ main.c:248:6: warning: no previous prototype for 'display' [-Wmissing-prototypes] 248 | void display(void) | ^~~~~~~ -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)); - | ^ main.c: In function 'display': +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)); + | ^ 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]); | ^~~ @@ -3624,1472 +4966,672 @@ 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); | ~~~~~~^~~~~ -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)); - | ^ +sequencer.c:770:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 770 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+3)*SEQUENCER_CELLHEIGHT)); + | ^ main.c:286:47: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 286 | draw_button(DS_WIDTH-115, DS_HEIGHT-14, 16, "3", main_ui[MAIN_PAGE3]); | ^~~ 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); | ~~~~~~^~~~~ -sequencer.c:768:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 768 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+2)*SEQUENCER_CELLHEIGHT)); - | ^ +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); + | ~^~~~ 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]); | ^~~ 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); | ~~~~~~^~~~~ +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)); + | ^ main.c:288:51: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 288 | draw_textbox(DS_WIDTH-42, DS_HEIGHT-14, 16, 74, "komposter", main_ui[MAIN_ABOUT]); | ^~~~~~~~~~~ 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: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)); - | ^ main.c:292:47: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 292 | draw_button(DS_WIDTH-206, DS_HEIGHT-14, 16, "!!!", main_ui[MAIN_PANIC]); | ^~~~~ 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); | ~~~~~~^~~~~ -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)); +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)); | ^ +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); + | ~~~~~~~~^~~ main.c:295:6: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] 295 | rf=fmin(1.0f, audio_latest_peak); | ^~~~ +widgets.c: In function 'draw_kboct': main.c:298:44: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 298 | draw_textbox(728, DS_HEIGHT-14, 16, 100, "", main_ui[MAIN_VU]); | ^~ 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:770:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 770 | glVertex2f(SEQUENCER_X, SEQUENCER_Y+((seqch+3)*SEQUENCER_CELLHEIGHT)); - | ^ +widgets.c:484:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] + 484 | ckey+=bkj[i]; + | ~~~^~~ +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:466:12: note: within this loop + 466 | for(i=0;i<5;i++) { // black keys + | ~^~ main.c:310:24: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] 310 | unsigned int color=0x00b05500|(panic<<24); | ^~~~~~~~~~ +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 ]); + | ~~~~~~~~~~~~~~~^~~~~~ +sequencer.c:784:83: 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); + | ^ main.c: At top level: -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)); - | ^ main.c:322:6: warning: no previous prototype for 'cleanup' [-Wmissing-prototypes] 322 | void cleanup(void) | ^~~~~~~ -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)); - | ^ main.c:332:5: warning: no previous prototype for 'is_dir' [-Wmissing-prototypes] 332 | int is_dir(const char *path) | ^~~~~~ -main.c: In function 'main': -sequencer.c:784:40: warning: conversion from 'int' to 'float' may change value [-Wconversion] +sequencer.c:784:66: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] 784 | render_text(tmps, 2.5+SEQUENCER_X+(i*SEQUENCER_CELLWIDTH), round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT)), 2, 0xffa0a0a0, 0); - | ^ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +main.c: In function 'main': +sequencer.c:789:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 789 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y)); + | ^ main.c:435:15: warning: ISO C forbids passing argument 1 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 435 | dialog_open(&about_draw, &about_hover, &about_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:784:83: 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); - | ^ +sequencer.c:791:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 791 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); + | ^ main.c:435:28: warning: ISO C forbids passing argument 2 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 435 | dialog_open(&about_draw, &about_hover, &about_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:478:5: warning: switch missing default case [-Wswitch-default] + 478 | switch(modModulatorTypes[mod[csynth][mi].type]) + | ^~~~~~ main.c:435:42: warning: ISO C forbids passing argument 3 of 'dialog_open' between function pointer and 'void *' [-Wpedantic] 435 | dialog_open(&about_draw, &about_hover, &about_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:784:66: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 784 | render_text(tmps, 2.5+SEQUENCER_X+(i*SEQUENCER_CELLWIDTH), round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT)), 2, 0xffa0a0a0, 0); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +sequencer.c:791:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 791 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); + | ^ main.c:436:23: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 436 | dialog_bindkeyboard(&about_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:789:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 789 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y)); - | ^ -sequencer.c:791:29: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 791 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); - | ^ -sequencer.c:791:70: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 791 | glVertex2f(SEQUENCER_X+i*SEQUENCER_CELLWIDTH, round(SEQUENCER_Y+((seqch+4)*SEQUENCER_CELLHEIGHT))); - | ^ 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))); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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); + | ~^~~~ 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 | ^ +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); + | ~~~~~~~~^~~ 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 | ^ 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 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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]); + | ^ 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; | ^ +widgets.c: In function 'draw_kbhoct': +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); + | ^ +widgets.c:560:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] + 560 | ckey+=bkj[i]; + | ~~~^~~ 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; | ^~~~~~~~~~ +widgets.c:531:12: note: within this loop + 531 | for(i=0;i<5;i++) { // black keys + | ~^~ +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]); + | ^~~ sequencer.c:807:16: warning: conversion from 'int' to 'float' may change value [-Wconversion] 807 | if ((sx+sl) > SEQUENCER_X) { | ^ +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); + | ~~~~~~^~~~~ sequencer.c:810:15: warning: conversion from 'int' to 'float' may change value [-Wconversion] 810 | sl-=(SEQUENCER_X-sx); | ^~ +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]); + | ^~~ sequencer.c:810:17: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 810 | sl-=(SEQUENCER_X-sx); | ^ +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); + | ~~~~~~^~~~~ sequencer.c:816:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 816 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +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]); + | ^~~ sequencer.c:817:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 817 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +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); + | ~~~~~~^~~~~ sequencer.c:817:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 817 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +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); + | ~~~~~~^~~~~ 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 ); | ^ 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 ); | ^ +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]); + | ^~~~ 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 ); | ^ +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); + | ~~~~~~^~~~~ 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); | ^ +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); + | ~~~~~~^~~~~ sequencer.c:829:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 829 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ sequencer.c:830:27: warning: conversion from 'int' to 'float' may change value [-Wconversion] 830 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +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); + | ~~~~~~^~~~~ 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 ); | ^ +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); + | ~~~~~~^~~~~ 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 ); | ^ 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 ); | ^ +filedialog.c: In function 'filedialog_keyboard': +filedialog.c:250:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] + 250 | strncat(fd->fullpath, fd->fmask+1, 512); + | ^ 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 ) { | ^ +patch.c: In function 'patch_draw_modulator': 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); | ^ +In function 'strncat', + inlined from 'filedialog_keyboard' at filedialog.c:247:5: +/usr/include/x86_64-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: +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); + | ^~ +/usr/include/x86_64-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)); + | ~~~~~~~~~~~~~~~~~~~~~~~~~ +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: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)); | ^ -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) - | ^~~~~~~~~~~~~~ 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)); | ^ -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) - | ^~~~~~~~~~~~~~ +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); + | ~~~~~~^~~~~ 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)); | ^ 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)); | ^ -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); - | ^~~ +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); + | ~~~~~~^~~~~ 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 ); | ^ 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 ); | ^ +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); + | ~~~~~~~~~~~~~~~^~~~~~ +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) + | ^~~~~~~~~~~~~~ sequencer.c:864:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] 864 | sx=SEQUENCER_X+(j-seq_start)*SEQUENCER_CELLWIDTH; | ^ -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(); - | ^~~ +main.c: In function 'audio_renderer': 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; | ^ -main.c: In function 'cleanup': +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); + | ~~~~~~~~~~~~~~~^~~~~~ +main.c:233:7: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] + 233 | void *audio_renderer(void *param) + | ^~~~~~~~~~~~~~ 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; | ^~~~~~~~~~ -main.c:322:6: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] - 322 | void cleanup(void) - | ^~~~~~~ +patch.c: In function 'patch_modulator_hover': sequencer.c:867:14: warning: conversion from 'int' to 'float' may change value [-Wconversion] 867 | if ((sx+sl) > SEQUENCER_X) { | ^ sequencer.c:870:13: warning: conversion from 'int' to 'float' may change value [-Wconversion] 870 | sl-=(SEQUENCER_X-sx); | ^~ +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); + | ^ +font.c: In function 'font_init': sequencer.c:870:15: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 870 | sl-=(SEQUENCER_X-sx); | ^ +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); + | ^ +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); + | ^ sequencer.c:882:43: warning: conversion from 'int' to 'float' may change value [-Wconversion] 882 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +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); + | ^ sequencer.c:883:25: warning: conversion from 'int' to 'float' may change value [-Wconversion] 883 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -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); - | ^~~~~~~~~~~ sequencer.c:883:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 883 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ +main.c: In function 'cleanup': +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); + | ^ +main.c:322:6: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] + 322 | void cleanup(void) + | ^~~~~~~ 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 ); | ^ -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); - | ^~~~~ 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 ); | ^ -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); - | ^~~~~ +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); + | ^ 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 ); | ^ -fileops.c:63:10: warning: variable 'r' set but not used [-Wunused-but-set-variable] - 63 | int i, r, cpat, csyn; - | ^ -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(); - | ^~~ -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;itype], x+1, round(y+(MODULE_SIZE/5))+1, 2, 0xff000000, 1); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~ -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; - | ^~ -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); - | ^~~~~~~~~~~~~~~~~~~~~~~~ +patch.c:618:5: warning: switch missing default case [-Wswitch-default] + 618 | switch(modModulatorTypes[mod[csynth][mi].type]) { + | ^~~~~~ 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 ); | ^ -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;ilabel, x+1, round(y+(MODULE_SIZE/3)+5), 2, 0xff000000, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:911:90: 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 ); | ^ -fileops.c:303:10: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 303 | filepos+=seqch*seqsonglen*4; - | ^~ -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); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -fileops.c:304:64: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 304 | for(i=0;itype], x, round(y+(MODULE_SIZE/3)+4), 2, 0xffffffff, 1); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -fileops.c:304:98: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 304 | for(i=0;i12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; + | ^~ sequencer.c:913:90: warning: conversion from 'int' to 'float' may change value [-Wconversion] 913 | glVertex2f( SEQUENCER_X+(seq_hover_meas-seq_start) *SEQUENCER_CELLWIDTH, SEQUENCER_Y+(3+seqch)*SEQUENCER_CELLHEIGHT ); | ^ -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"}; - | ^~~~~~~ -fileops.c:310:97: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 310 | for(i=0;i12) modquantifier[ csynth ][cpatch[csynth]][ mi ]--; return; + | ^~~~~~ sequencer.c:922:41: warning: conversion to 'unsigned int' from '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]]; | ^ -widgets.c: In function 'draw_knob': -patch.c: In function 'patch_init': -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); - | ^~~ -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"}; - | ^~~~~~~~~~ -fileops.c: In function 'save_chunk_ksyn': -patch.c:96:6: warning: old-style function definition [-Wold-style-definition] - 96 | void patch_init() - | ^~~~~~~~~~ -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); -fileops.c:339:9: warning: conversion from 'long unsigned int' to 'unsigned int' may change value [-Wconversion] - 339 | dsize=nm*sizeof(synthmodule) + 128 + 8; - | ^~ -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); +patch.c: In function 'patch_modulator_special': 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]]; | ^~~~~~~~~~ -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"}; - | ^~~~~~ -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); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -patch.c: In function 'patch_mouse_hover': -modules.c:312:40: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~~~ -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); - | ^ -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); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ -fileops.c:356:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'unsigned int' may change value [-Wconversion] - 356 | m=fwrite(filedata, sizeof(char), dsize+8, f); - | ^~~~~~ +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 ]); + | ~~~~~~~~~~~~~~~^~~~~~ sequencer.c:925:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] 925 | sx=SEQUENCER_X+(j-seq_start)*SEQUENCER_CELLWIDTH; | ^ -modules.c:312:50: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~ -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); - | ^ -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); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ -fileops.c: In function 'save_chunk_kbnk': -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); - | ^ -modules.c:312:57: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~~~~~ -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); - | ^ -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); - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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); - | ^ sequencer.c:928:12: warning: conversion from 'int' to 'float' may change value [-Wconversion] 928 | if ((sx+sl) > SEQUENCER_X) { | ^ -fileops.c:374:56: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] - 374 | while(signalfifo[syn][m]>=0) { if (signalfifo[syn][m]>mm) mm=signalfifo[syn][m]; m++; } - | ^ -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); - | ^ -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); -modules.c:312:69: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 312 | char* modLfoWaveforms[LFO_WAVEFORMS]={"Square", "Saw", "Triangle", "Sine"}; - | ^~~~~~ -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); - | ^ -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); -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); - | ^ -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++; } - | ^~~~~~~~~~ -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); - | ^ sequencer.c:930:11: warning: conversion from 'int' to 'float' may change value [-Wconversion] 930 | sl-=(SEQUENCER_X-sx); | ^~ -modules.c:313:32: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~ -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); -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); - | ^ -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); -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); - | ^ -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); - | ^ -modules.c:313:39: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~ -widgets.c: In function 'draw_text': sequencer.c:930:13: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] 930 | sl-=(SEQUENCER_X-sx); | ^ -widgets.c:198:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 198 | xd += glutBitmapWidth(MODULE_FONT,*c); - | ^~ -modules.c:313:50: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~~ -widgets.c:203:3: warning: switch missing default case [-Wswitch-default] - 203 | switch (align) { - | ^~~~~~ -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); - | ^~~~~~ sequencer.c:936:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 936 | glVertex2f( sx+1, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -widgets.c:212:8: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 212 | x1 += glutBitmapWidth(MODULE_FONT,*c); - | ^~ -modules.c:313:62: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 313 | char* modVcfModes[VCF_MODES]={"Off", "Lowpass", "Highpass", "Bandpass"}; - | ^~~~~~~~~~ -patch.c:174:7: warning: switch missing default case [-Wswitch-default] - 174 | switch (key) { - | ^~~~~~ -patch.c: In function 'patch_mouse_drag': -fileops.c: In function 'save_chunk_kpat': -modules.c:314:36: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; - | ^~~~~~~~~~~~~ +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); + | ~~~~~~~~~~~~~~~^~~~~~ sequencer.c:937:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 937 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -patch.c:201:27: warning: unused parameter 'x' [-Wunused-parameter] - 201 | void patch_mouse_drag(int x, int y) - | ~~~~^ -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); - | ^~~~~~ -patch.c:201:34: warning: unused parameter 'y' [-Wunused-parameter] - 201 | void patch_mouse_drag(int x, int y) - | ~~~~^ -modules.c:314:51: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 314 | char* modDelayModes[DELAY_MODES]={"Comb filter", "Allpass filter"}; - | ^~~~~~~~~~~~~~~~ -patch.c: In function 'patch_mouse_click': sequencer.c:937:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 937 | glVertex2f( sx+sl, SEQUENCER_Y+ i *SEQUENCER_CELLHEIGHT); | ^ -patch.c:217:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] - 217 | if (cpatch[csynth]>0) cpatch[csynth]--; return; - | ^~ -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); - | ^~~~~~ -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; - | ^~~~~~ -modules.c:315:34: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; - | ^~~~~~~~ -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); - | ^~~~~~ -modules.c:315:44: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 315 | char* modSlewModes[SLEW_MODES]={"Linear", "Logarithmic"}; - | ^~~~~~~~~~~~~ +patch.c:662:43: warning: unused parameter 'x' [-Wunused-parameter] + 662 | void patch_modulator_special(int 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 ); | ^ -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); - | ^~~~~~ -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"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -filedialog.c: In function 'filedialog_click': -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); - | ~~~~~~^~~ -fileops.c: In function 'save_chunk_kseq': -filedialog.c:203:9: warning: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Wstringop-truncation] - 203 | strncpy(ttmps, fd->g.gl_pathv[fd->sliderpos+fd->listhover], strlen(fd->g.gl_pathv[fd->sliderpos+fd->listhover])-1); - | ^ +patch.c:662:50: warning: unused parameter 'y' [-Wunused-parameter] + 662 | void patch_modulator_special(int key, int x, int y) + | ~~~~^ 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 ); | ^ -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); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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; - | ^~ -filedialog.c:205:9: warning: '__builtin_strncpy' specified bound 255 equals destination size [-Wstringop-truncation] - 205 | strncpy(tmps, rindex(ttmps, '/')+1, 255); - | ^ -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); - | ~~~~~~^~~ -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); - | ^ -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); - | ^~~~~~ +patch.c: In function 'patch_modulator_keyboard': 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 ); | ^ -filedialog.c:180:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] - 180 | strncat(fd->fullpath, fd->fmask+1, 512); - | ^ -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); - | ^~~~~~ -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}; - | ^ sequencer.c:947:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 947 | f=seq_render_start - seq_start; | ^~~~~~~~~~~~~~~~ -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); - | ^~~~~~ -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 ]); - | ~~~~~~~~~~~~~~~^~~~~~ -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}; - | ^ -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); - | ^~~~~~ +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); + | ~~~~~~~~~~~~~~~^~~~~~ 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); | ^ -patch.c:341:42: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 341 | patch_modulator_intval=modvalue[ csynth ][cpatch[csynth]][ mi ]; - | ^~~~~~~~ -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); - | ^~~~~~ -modules.c:353:6: warning: function declaration isn't a prototype [-Wstrict-prototypes] - 353 | void calc_supersaw_tables() { - | ^~~~~~~~~~~~~~~~~~~~ -patch.c:334:15: warning: switch missing default case [-Wswitch-default] - 334 | switch(modModulatorTypes[mod[csynth][mi].type]) { - | ^~~~~~ -modules.c: In function 'calc_supersaw_tables': -modules.c:353:6: warning: old-style function definition [-Wold-style-definition] -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); - | ^~~~~~~~~~~~~~~~~~~~~ sequencer.c:955:7: warning: conversion from 'int' to 'float' may change value [-Wconversion] 955 | f=seq_render_end - seq_start; | ^~~~~~~~~~~~~~ -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); - | ^~~~~ -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); - | ~~~~~~^~~~ -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; - | ^ -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); - | ~~~~~~^~~~~ -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); +patch.c:735:5: warning: switch missing default case [-Wswitch-default] + 735 | switch(modModulatorTypes[mod[csynth][mi].type]) { | ^~~~~~ -widgets.c: In function 'draw_kboct': sequencer.c:959:62: warning: conversion from 'int' to 'float' may change value [-Wconversion] 959 | glVertex2f(SEQUENCER_X+f*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(seqch+3)*SEQUENCER_CELLHEIGHT); | ^ -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); - | ~~~~~~^~~~~ -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; - | ^~~ -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); - | ^ -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;i> 6; // calc patternpos from sample index | ^ -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) { - | ^~~~~~~~~~~ -fileops.c:470:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 470 | r=fread(&fchunklen, sizeof(u32), 1, f); - | ^~~~~ -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)); - | ^ -modules.c: At top level: -patch.c:417:53: warning: unused parameter 'y' [-Wunused-parameter] - 417 | void patch_specialkey(unsigned char key, int x, int y) - | ~~~~^ -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': -fileops.c:477:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 477 | r=fread(cbuffer, sizeof(char), fchunklen, f); - | ^~~~~ +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); + | ^~~~~~~~~~~~~~~~~~~~~~~ sequencer.c:999:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] 999 | if (i >= 0 && (i/16.0f) >= seq_start) { | ^ -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)); - | ^ -fileops.c: In function 'probe_chunk': -modules.c:403:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 403 | mod_fdata[0]-=floor(mod_fdata[0]); - | ^~~~~ -patch.c: In function 'patch_draw': -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:1000:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1000 | f=(float)(i)/16.0f - seq_start; | ^ -fileops.c:497:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 497 | r=fread(chunktype, sizeof(char), 4, 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); - | ~^~~ -modules.c:407:17: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 407 | mod_fdata[1]-=floor(mod_fdata[1]); - | ^~~~~ -fileops.c:499:5: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 499 | r=fread(&fchunklen, sizeof(u32), 1, f); - | ^~~~~ -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)); - | ^ +patch.c:767:3: warning: switch missing default case [-Wswitch-default] + 767 | switch(scale) { + | ^~~~~~ +patch.c: In function 'knob_float2scale': sequencer.c:1004:66: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1004 | glVertex2f(SEQUENCER_X+f*SEQUENCER_CELLWIDTH, SEQUENCER_Y+(seqch+3)*SEQUENCER_CELLHEIGHT); | ^ -patch.c:460:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 460 | glVertex2f(x+16, 8+m*16-yd); - | ~~~~~~^~~ -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)); - | ^ -patch.c:461:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 461 | glVertex2f(x+380, 8+m*16-yd); - | ~^~~~ -modules.c:416:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 416 | case VCO_TRIANGLE: out=(mod_fdata[0]<0.75) ? 1-fabs(mod_fdata[0]*4-1) : 1-fabs(mod_fdata[0]*4-5); break; - | ^ +patch.c:786:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 786 | case SCALE_FREQUENCY_TEMPO: return (value*60*OUTPUTFREQ)/bpm; + | ^ sequencer.c:1009:7: warning: conversion from 'long int' to 'int' may change value [-Wconversion] 1009 | i=(render_playpos / (OUTPUTFREQ/(bpm*256/60))) >> 6; // calc patternpos from sample index | ^ -patch.c:461:31: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 461 | glVertex2f(x+380, 8+m*16-yd); - | ~~~~~~^~~ -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)); - | ^ -modules.c:417:28: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 417 | case VCO_SINE: out=sin(2*3.1415926* mod_fdata[0]); break; - | ^~~ sequencer.c:1011:21: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1011 | if (i >= 0 && (i/16.0f) >= seq_start) { | ^ -patch.c:462:19: warning: conversion from 'int' to 'GLfloat' {aka 'float'} may change value [-Wconversion] - 462 | glVertex2f(x+380, 24+m*16-yd); - | ~^~~~ -fileops.c: In function 'synth_colorize': -modules.c:412:3: warning: switch missing default case [-Wswitch-default] - 412 | switch((int)(*mod)) - | ^~~~~~ -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)); - | ^ -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:787:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] + 787 | case SCALE_DURATION_TEMPO: return (OUTPUTFREQ*60)/(value*bpm); + | ^ sequencer.c:1012:28: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1012 | f=(float)(i)/16.0f - seq_start; | ^ -fileops.c:568:58: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion] - 568 | for(m=0;m1) loopend=ms[2]; // use loop input if greater than 1 sample - | ^~ -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)); - | ^ -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); - | ~~~~~~^~~~~ sequencer.c:1058:63: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1058 | seq_start, (DS_WIDTH-(SEQUENCER_X+4))/SEQUENCER_CELLWIDTH, seqsonglen, seqslide_hover); | ^~~~~~~~~~ -widgets.c:544:19: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 544 | glVertex2f(x+j*kw+(0.7*kw), y); - | ^ -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]); - | ^~~~ -modules.c:534:16: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 534 | mod_ldata[2]=(writeptr+1)%loopend; - | ^ -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); - | ~~~~~~^~~~~ sequencer.c:1062:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1062 | draw_button(440, DS_HEIGHT-14, 16, "A", seq_ui[B_REWIND]); | ^~~ @@ -5097,481 +5639,121 @@ 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); | ~~~~~~^~~~~ -widgets.c:545:23: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 545 | glVertex2f(x+(j+1)*kw+(0.3*kw), y); - | ^ -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:509:1: note: in expansion of macro 'MODULE_FUNC' - 509 | MODULE_FUNC(delay) - | ^~~~~~~~~~~ -modules.c: At top level: -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); - | ~~~~~~^~~~~ -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)); - | ^ -modules.h:29:39: warning: no previous prototype for 'modfunc_dist' [-Wmissing-prototypes] - 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 - | ^~~~~~~~~~~ sequencer.c:1063:38: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1063 | draw_button(462, DS_HEIGHT-14, 16, "C", seq_ui[B_CLEAR]); | ^~~ -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]); - | ^~~~ -modules.c: In function 'modfunc_dist': -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); - | ~~~~~~^~~~~ -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); - | ~~~~~~^~~~~ -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)); - | ^ -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); - | ^~~ -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); | ~~~~~~^~~~~ -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:1064:43: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1064 | draw_textbox(526, DS_HEIGHT-14, 16, 48, "play", seq_ui[B_SEQPLAY]); | ^~~~~~ 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); | ~~~~~~^~~~~ -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 - | ^~~~~~~~~~~ -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 - | ^~~~~~~~~~~ -patch.c: In function 'patch_draw_modulator': sequencer.c:1065:43: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1065 | draw_textbox(578, DS_HEIGHT-14, 16, 48, "render", seq_ui[B_RENDER]); | ^~~~~~~~ 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); | ~~~~~~^~~~~ -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:540:1: note: in expansion of macro 'MODULE_FUNC' - 540 | MODULE_FUNC(dist) { // simple clipping distort - | ^~~~~~~~~~~ -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); - | ^~ -modules.c: At top level: -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); - | ~~~~~~^~~~~ -modules.h:29:39: warning: no previous prototype for 'modfunc_resample' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:569:1: note: in expansion of macro 'MODULE_FUNC' - 569 | MODULE_FUNC(resample) { // sample-and-hold - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_resample': sequencer.c:1079:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1079 | draw_button(14, DS_HEIGHT-14, 16, "<<", seq_ui[B_DECCH]); | ^~~~ 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: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]); - | ^~~ -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:569:1: note: in expansion of macro 'MODULE_FUNC' - 569 | MODULE_FUNC(resample) { // sample-and-hold - | ^~~~~~~~~~~ -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); - | ~~~~~~^~~~~ -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:569:1: note: in expansion of macro 'MODULE_FUNC' - 569 | MODULE_FUNC(resample) { // sample-and-hold - | ^~~~~~~~~~~ -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]); - | ^~~ -modules.c: At top level: -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); - | ~~~~~~^~~~~ -widgets.c: In function 'hovertest_hslider': -modules.h:29:39: warning: no previous prototype for 'modfunc_cv' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:583:1: note: in expansion of macro 'MODULE_FUNC' - 583 | MODULE_FUNC(cv) { return *mod; } - | ^~~~~~~~~~~ sequencer.c:1082:37: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1082 | draw_button(80, DS_HEIGHT-14, 16, ">>", seq_ui[B_ADDCH]); | ^~~~ -modules.c: In function 'modfunc_cv': 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); - | ~~~~~~~~~~~~~~~^~~~~~ -widgets.c:709:21: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 709 | if (hit) return (x-slx); - | ~~^~~~~ -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:583:1: note: in expansion of macro 'MODULE_FUNC' - 583 | MODULE_FUNC(cv) { return *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:583:1: note: in expansion of macro 'MODULE_FUNC' - 583 | MODULE_FUNC(cv) { return *mod; } - | ^~~~~~~~~~~ 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]); | ^~~~ 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: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.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:583:1: note: in expansion of macro 'MODULE_FUNC' - 583 | MODULE_FUNC(cv) { return *mod; } - | ^~~~~~~~~~~ -widgets.c: In function 'textbox_edit': -modules.c: At top level: -patch.c: In function 'patch_modulator_hover': sequencer.c:1090:39: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1090 | draw_button(304, DS_HEIGHT-14, 16, ">>", seq_ui[B_SLONGER]); | ^~~~ -modules.h:29:39: warning: no previous prototype for 'modfunc_amp' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:584:1: note: in expansion of macro 'MODULE_FUNC' - 584 | MODULE_FUNC(amp) { return ms[0]*ms[1]; } - | ^~~~~~~~~~~ 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); | ~~~~~~^~~~~ -modules.c: In function 'modfunc_amp': -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_PATT_ADDNUM]); | ^~~~ 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); | ~~~~~~^~~~~ -modules.c: In function 'modfunc_lpf24': -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); - | ~~~~~~~~~~~~~~~^~~~~~ -modules.c:613:19: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 613 | return mod_ddata[3]; //out4; - | ^ sequencer.c:1123:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1123 | draw_button((DS_WIDTH/2)-102, (DS_HEIGHT/2)-30, 16, "<<", seq_ui[B_PATT_DECNUM]); | ^~~~ 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); | ~~~~~~^~~~~ -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:590:1: note: in expansion of macro 'MODULE_FUNC' - 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass - | ^~~~~~~~~~~ -patch.c:618:5: warning: switch missing default case [-Wswitch-default] - 618 | switch(modModulatorTypes[mod[csynth][mi].type]) { - | ^~~~~~ -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:590:1: note: in expansion of macro 'MODULE_FUNC' - 590 | MODULE_FUNC(lpf24) { // 24db/oct four-pole low pass - | ^~~~~~~~~~~ -modules.c: At top level: -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; - | ^~ -modules.h:29:39: warning: no previous prototype for 'modfunc_bitcrush' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:625:1: note: in expansion of macro 'MODULE_FUNC' - 625 | MODULE_FUNC(bitcrush) { - | ^~~~~~~~~~~ sequencer.c:1128:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1128 | draw_button((DS_WIDTH/2)+102, (DS_HEIGHT/2)-30, 16, ">>", seq_ui[B_PATT_ADDREP]); | ^~~~ -modules.c: In function 'modfunc_bitcrush': 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: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; - | ^~~~~~ -modules.c:627:12: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 627 | int rate=ms[1]*32766+1; - | ^~ sequencer.c:1129:54: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1129 | draw_button((DS_WIDTH/2)+16, (DS_HEIGHT/2)-30, 16, "<<", seq_ui[B_PATT_DECREP]); | ^~~~ 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); | ~~~~~~^~~~~ -modules.c:628:10: warning: conversion from 'float' to 'int' may change value [-Wfloat-conversion] - 628 | int in=ms[0]*32767; - | ^~ -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; - | ^~ -filedialog.c: In function 'filedialog_keyboard': -filedialog.c:250:7: warning: '__builtin___strncat_chk' specified bound 512 equals destination size [-Wstringop-truncation] - 250 | strncat(fd->fullpath, fd->fmask+1, 512); - | ^ -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:625:1: note: in expansion of macro 'MODULE_FUNC' - 625 | MODULE_FUNC(bitcrush) { - | ^~~~~~~~~~~ -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; - | ^~~~~~ sequencer.c:1134:54: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1134 | draw_button((DS_WIDTH/2)+102, (DS_HEIGHT/2)-4, 16, ">>", seq_ui[B_PATT_ADDTRANS]); | ^~~~ 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_modulator_special': -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:625:1: note: in expansion of macro 'MODULE_FUNC' - 625 | MODULE_FUNC(bitcrush) { - | ^~~~~~~~~~~ -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:625:1: note: in expansion of macro 'MODULE_FUNC' - 625 | MODULE_FUNC(bitcrush) { - | ^~~~~~~~~~~ sequencer.c:1135:53: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1135 | draw_button((DS_WIDTH/2)-16, (DS_HEIGHT/2)-4, 16, "<<", seq_ui[B_PATT_DECTRANS]); | ^~~~ 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: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.c: At top level: -In function 'strncat', - inlined from 'filedialog_keyboard' at filedialog.c:247:5: -/usr/include/x86_64-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/x86_64-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)); - | ~~~~~~~~~~~~~~~~~~~~~~~~~ -modules.h:29:39: warning: no previous prototype for 'modfunc_slew' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:641:1: note: in expansion of macro 'MODULE_FUNC' - 641 | MODULE_FUNC(slew) { // slew limiter: ms[0] = cv input, ms[1] = rate - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_slew': sequencer.c:1140:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1140 | draw_button((DS_WIDTH/2)+102, (DS_HEIGHT/2)+32, 16, ">>", seq_ui[B_PATT_NEXTPATCH]); | ^~~~ 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); | ~~~~~~^~~~~ -modules.c:29:20: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 29 | #define mod_ddata ((double*)data) - | ^ -modules.c:644:12: note: in expansion of macro 'mod_ddata' - 644 | float fp=mod_ddata[0]; - | ^~~~~~~~~ sequencer.c:1141:55: warning: passing argument 4 of 'draw_button' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1141 | draw_button((DS_WIDTH/2)-102, (DS_HEIGHT/2)+32, 16, "<<", seq_ui[B_PATT_PREVPATCH]); | ^~~~ @@ -5579,193 +5761,61 @@ 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ sequencer.c: In function 'sequencer_pattern_hover': -modules.c:647:5: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 647 | k=((int)(*mod)) ? -log2(1-ms[1]) : ms[1]; - | ^ -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); - | ~~~~~~~~~~~~~~~^~~~~~ -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:641:1: note: in expansion of macro 'MODULE_FUNC' - 641 | MODULE_FUNC(slew) { // slew limiter: ms[0] = cv input, ms[1] = rate - | ^~~~~~~~~~~ -modules.c: At top level: sequencer.c:1150:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1150 | seq_ui[B_PATT_ADDNUM]=hovertest_box(x, y, (DS_WIDTH/2)-16, (DS_HEIGHT/2)-30, 16, 16); | ^ -modules.h:29:39: warning: no previous prototype for 'modfunc_envdet' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -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 - | ^~~~~~~~~~~ -patch.c:662:43: warning: unused parameter 'x' [-Wunused-parameter] - 662 | void patch_modulator_special(int key, int x, int y) - | ~~~~^ sequencer.c:1150:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1150 | seq_ui[B_PATT_ADDNUM]=hovertest_box(x, y, (DS_WIDTH/2)-16, (DS_HEIGHT/2)-30, 16, 16); | ^ -modules.c: In function 'modfunc_envdet': -patch.c:662:50: warning: unused parameter 'y' [-Wunused-parameter] - 662 | void patch_modulator_special(int key, int x, int y) - | ~~~~^ sequencer.c:1151:39: 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); | ^ -modules.c:663:23: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 663 | float attack_coef = exp(log(0.01)/ms[1]); - | ^~~ -patch.c: In function 'patch_modulator_keyboard': -modules.c:664:24: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 664 | float release_coef = exp(log(0.01)/ms[2]); - | ^~~ 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); | ^ -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); - | ~~~~~~~~~~~~~~~^~~~~~ -modules.c:666:13: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 666 | float tmp=fabs(ms[0]); - | ^~~~ 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); | ^ -patch.c:735:5: warning: switch missing default case [-Wswitch-default] - 735 | switch(modModulatorTypes[mod[csynth][mi].type]) { - | ^~~~~~ 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); | ^ -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:658:1: note: in expansion of macro 'MODULE_FUNC' - 658 | MODULE_FUNC(envdet) { // envelope follower: ms[0] = input, ms[1] = attack, ms[2] = release - | ^~~~~~~~~~~ -patch.c:718:54: warning: unused parameter 'x' [-Wunused-parameter] - 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) - | ~~~~^ -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:658:1: note: in expansion of macro 'MODULE_FUNC' - 658 | MODULE_FUNC(envdet) { // envelope follower: ms[0] = input, ms[1] = attack, ms[2] = release - | ^~~~~~~~~~~ -modules.c: At top level: sequencer.c:1153:39: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1153 | seq_ui[B_PATT_DECREP]=hovertest_box(x, y,(DS_WIDTH/2)+16, (DS_HEIGHT/2)-30, 16, 16); | ^ -patch.c:718:61: warning: unused parameter 'y' [-Wunused-parameter] - 718 | void patch_modulator_keyboard(unsigned char key, int x, int y) - | ~~~~^ -modules.h:29:39: warning: no previous prototype for 'modfunc_supersaw' [-Wmissing-prototypes] - 29 | #define MODULE_FUNC(X) float modfunc_ ##X (unsigned char v, float *mod, void *data, float *ms) - | ^~~~~~~~ -modules.c:684:1: note: in expansion of macro 'MODULE_FUNC' - 684 | MODULE_FUNC(supersaw) { - | ^~~~~~~~~~~ -modules.c: In function 'modfunc_supersaw': -patch.c: In function 'knob_scale2float': sequencer.c:1153:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1153 | seq_ui[B_PATT_DECREP]=hovertest_box(x, y,(DS_WIDTH/2)+16, (DS_HEIGHT/2)-30, 16, 16); | ^ -modules.c:692:12: warning: conversion from 'double' to 'int' may change value [-Wfloat-conversion] - 692 | m_detune=(127 * clamp(ms[1])); - | ^ -patch.c:770:46: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 770 | case SCALE_FREQUENCY_TEMPO: return (value*bpm)/(60*OUTPUTFREQ); - | ^ sequencer.c:1154:41: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1154 | seq_ui[B_PATT_ADDTRANS]=hovertest_box(x, y,(DS_WIDTH/2)+102, (DS_HEIGHT/2)-4, 16, 16); | ^ -modules.c:693:9: warning: conversion from 'double' to 'int' may change value [-Wfloat-conversion] - 693 | m_mix=(127 * clamp(ms[2])); - | ^ sequencer.c:1154:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1154 | seq_ui[B_PATT_ADDTRANS]=hovertest_box(x, y,(DS_WIDTH/2)+102, (DS_HEIGHT/2)-4, 16, 16); | ^ -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; sequencer.c:1155:41: 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); | ^ -modules.c:683:25: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 683 | #define sawtooth(ac) (1.0+2.0*sqrt(ac)) - | ^ -modules.c:698:10: note: in expansion of macro 'sawtooth' - 698 | out+=sawtooth(mod_fdata[i])*supersaw_mix[m_mix][i]; - | ^~~~~~~~ -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); - | ^~~~~~~~~~~~~~~~~~~~~~~ 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); | ^ -patch.c:767:3: warning: switch missing default case [-Wswitch-default] - 767 | switch(scale) { - | ^~~~~~ 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); | ^ -modules.c:700:19: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 700 | mod_fdata[i]-=floor(mod_fdata[i]); - | ^~~~~ -patch.c: In function 'knob_float2scale': 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); | ^ -modules.c:704:7: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 704 | f = 2*sin(3.14159 * m_pitch); // cutoff in [0.0, 1.0] - | ^ -patch.c:786:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 786 | case SCALE_FREQUENCY_TEMPO: return (value*60*OUTPUTFREQ)/bpm; - | ^ -modules.c:706:5: warning: conversion from 'double' to 'float' may change value [-Wfloat-conversion] - 706 | r=sqrt(q); - | ^~~~ 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); | ^ -patch.c:787:61: warning: conversion from 'int' to 'float' may change value [-Wconversion] - 787 | case SCALE_DURATION_TEMPO: return (OUTPUTFREQ*60)/(value*bpm); - | ^ sequencer.c:1157:45: 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); | ^ -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:684:1: note: in expansion of macro 'MODULE_FUNC' - 684 | MODULE_FUNC(supersaw) { - | ^~~~~~~~~~~ -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); - | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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:684:1: note: in expansion of macro 'MODULE_FUNC' - 684 | MODULE_FUNC(supersaw) { - | ^~~~~~~~~~~ sequencer.c:1158:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1158 | seq_ui[B_PATT_PREVPATCH]=hovertest_box(x, y, (DS_WIDTH/2)-102, (DS_HEIGHT/2)+32, 16, 16); | ^ -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); - | ~~~~~~~~~~~~~~^~~~~~~~~~~ sequencer.c:1158:45: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1158 | seq_ui[B_PATT_PREVPATCH]=hovertest_box(x, y, (DS_WIDTH/2)-102, (DS_HEIGHT/2)+32, 16, 16); | ^ sequencer.c: In function 'sequencer_pattern_click': -patch.c:783:3: warning: switch missing default case [-Wswitch-default] - 783 | switch(scale) { - | ^~~~~~ sequencer.c:1166:42: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1166 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ @@ -5892,19 +5942,12 @@ 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); | ~~~~~~^~~~~ -widgets.c: In function 'draw_kboct': sequencer.c:1327:25: warning: ISO C forbids passing argument 1 of 'dialog_bindkeyboard' between function pointer and 'void *' [-Wpedantic] 1327 | dialog_bindkeyboard(&sequencer_preview_keyboard); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -widgets.c:484:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] - 484 | ckey+=bkj[i]; - | ~~~^~~ 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:466:12: note: within this loop - 466 | for(i=0;i<5;i++) { // black keys - | ~^~ sequencer.c:1331:54: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1331 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 80, 240, "", 0); | ^~ @@ -5939,19 +5982,12 @@ 1371 | void sequencer_render_keyboard(unsigned char key, int x, int y) | ~~~~^ sequencer.c: In function 'sequencer_draw_preview': -widgets.c: In function 'draw_kbhoct': -widgets.c:560:14: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations] - 560 | ckey+=bkj[i]; - | ~~~^~~ sequencer.c:1402:66: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1402 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2), 210, (DS_WIDTH*0.8), "", 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); | ~~~~~~^~~~~ -widgets.c:531:12: note: within this loop - 531 | for(i=0;i<5;i++) { // black keys - | ~^~ sequencer.c:1406:72: warning: passing argument 5 of 'draw_textbox' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 1406 | draw_textbox((DS_WIDTH/2), (DS_HEIGHT/2)-18, 160, (DS_WIDTH*0.8)-20, "", 0); | ^~ @@ -6088,15 +6124,15 @@ 37 | void draw_button(float x, float y, float size, char *label, int type); | ~~~~~~^~~~~ sequencer.c: In function 'sequencer_bpm_hover': -synthesizer.c:953:5: warning: '__builtin_strncpy' output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation] - 953 | strncpy(mod[csynth][synth_label_edit].label, synth_label_text, 64); - | ^ sequencer.c:1657:30: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1657 | bpm_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)-36, 16, 180); | ^ sequencer.c:1657:33: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1657 | bpm_kbfocus|=hovertest_box(x, y, (DS_WIDTH/2), (DS_HEIGHT/2)-36, 16, 180); | ^ +synthesizer.c:953:5: warning: '__builtin_strncpy' output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation] + 953 | strncpy(mod[csynth][synth_label_edit].label, synth_label_text, 64); + | ^ sequencer.c:1658:35: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1658 | seq_ui[B_BPM_INC]=hovertest_box(x, y, (DS_WIDTH/2)+102, (DS_HEIGHT/2)-36, 16, 16); | ^ @@ -6140,13 +6176,9 @@ sequencer.c:1669:44: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1669 | if (state==GLUT_DOWN && !hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ -synthesizer.c: In function 'synthlabel_click': sequencer.c:1694:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 1694 | if (beats_per_measure < 16) beats_per_measure++; return; | ^~ -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); - | ^ sequencer.c:1694:58: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 1694 | if (beats_per_measure < 16) beats_per_measure++; return; | ^~~~~~ @@ -6156,9 +6188,13 @@ sequencer.c:1697:57: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 1697 | if (beats_per_measure > 1) beats_per_measure--; return; | ^~~~~~ +synthesizer.c: In function 'synthlabel_click': sequencer.c:1711:50: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1711 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ +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); + | ^ sequencer.c:1711:52: warning: conversion from 'int' to 'float' may change value [-Wconversion] 1711 | if (button==GLUT_RIGHT_BUTTON && hovertest_box(x,y,(DS_WIDTH/2),(DS_HEIGHT/2),150,240 )) { | ^ @@ -6182,13 +6218,6 @@ synthesizer.c:52:13: note: while referencing 'mod' 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; | ^~~ -synthesizer.c: In function 'synth_clear': -synthesizer.c:146:12: warning: array subscript 64 is above array bounds of 'synthmodule[64]' [-Warray-bounds=] - 146 | mod[csyn][m].outputpos=0; - | ~~~~~~~~~^~~ -synthesizer.c:52:13: note: while referencing 'mod' - 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; - | ^~~ 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; @@ -6196,10 +6225,20 @@ patch.c:606:9: note: object 'f' of size 4 606 | float f; | ^ -synthesizer.c: In function 'synth_file_checkstate.part.0': 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; + | ^ +synthesizer.c: In function 'synth_clear': +synthesizer.c:146:12: warning: array subscript 64 is above array bounds of 'synthmodule[64]' [-Warray-bounds=] + 146 | mod[csyn][m].outputpos=0; + | ~~~~~~~~~^~~ +synthesizer.c:52:13: note: while referencing 'mod' + 52 | synthmodule mod[MAX_SYNTH][MAX_MODULES]; + | ^~~ +synthesizer.c: In function 'synth_file_checkstate.part.0': synthesizer.c:798:62: warning: '%s' directive writing up to 254 bytes into a region of size 225 [-Wformat-overflow=] 798 | sprintf(tmps, "Synthesizer %s saved to disk as %s", synthname[csynth], fn); | ^~ ~~ @@ -6214,9 +6253,6 @@ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ -patch.c:606:9: note: object 'f' of size 4 - 606 | float f; - | ^ 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; @@ -6230,21 +6266,6 @@ patch.c:721:9: note: object 'f' of size 4 721 | float f; | ^ -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); - | ^~ ~~ -In file included from /usr/include/stdio.h:970, - from sequencer.h:16: -In function 'sprintf', - inlined from 'sequencer_file_checkstate.part.0' at sequencer.c:1574:11: -/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 15 and 269 bytes into a destination of size 255 - 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); @@ -6273,6 +6294,21 @@ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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); + | ^~ ~~ +In file included from /usr/include/stdio.h:970, + from sequencer.h:16: +In function 'sprintf', + inlined from 'sequencer_file_checkstate.part.0' at sequencer.c:1574:11: +/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 15 and 269 bytes into a destination of size 255 + 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 31 | __glibc_objsize (__s), __fmt, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 32 | __va_arg_pack ()); + | ~~~~~~~~~~~~~~~~~ gcc -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 -fcf-protection -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 -frelease -L/usr/local/lib -o komposter about.o audio.o bezier.o buffermm.o console.o dialog.o dotfile.o filedialog.o fileops.o font.o main.o modules.o patch.o pattern.o sequencer.o shader.o synthesizer.o widgets.o -lpthread -lm -lGLU -lGL -lglut -lfreetype -lopenal make[2]: Leaving directory '/build/reproducible-path/komposter-0+git20201216+ds1' make[1]: Leaving directory '/build/reproducible-path/komposter-0+git20201216+ds1' @@ -6280,7 +6316,7 @@ create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/komposter/ - make -j40 install DESTDIR=/build/reproducible-path/komposter-0\+git20201216\+ds1/debian/komposter AM_UPDATE_INFO_DIR=no + make -j42 install DESTDIR=/build/reproducible-path/komposter-0\+git20201216\+ds1/debian/komposter AM_UPDATE_INFO_DIR=no make[1]: Entering directory '/build/reproducible-path/komposter-0+git20201216+ds1' make[2]: Entering directory '/build/reproducible-path/komposter-0+git20201216+ds1' make[2]: Nothing to be done for 'install-data-am'. @@ -6315,12 +6351,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/1941974/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1941974/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/3111739 and its subdirectories -I: Current time: Sat Apr 12 12:03:38 -12 2025 -I: pbuilder-time-stamp: 1744502618 +I: removing directory /srv/workspace/pbuilder/1941974 and its subdirectories +I: Current time: Sat May 16 20:28:25 +14 2026 +I: pbuilder-time-stamp: 1778912905