Git Product home page Git Product logo

gtultra's People

Contributors

drfiemost avatar jpage8580 avatar nicco1690 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gtultra's Issues

3sid song dosent export to sid

so i finished a 3sid song, but then i tried to export it, BUT, it gives me this error "ILLEGAL SONG RESTART POSITION! (SUBTUNE 01, CHANNEL 4)" it thinks i have the 4th sid on. i dont. imma send you (jason page) the sng file

MIDI off function?

Initial problem: my MIDI keyboard (Reloop Keyfadr) is recognized by GTUltra, but nothing I press on the keyboard is recognized. I can live with that. As a workaround (or potentially as a priority method), I'd like to use a software synthesizer on the background to jam over the current song. This does work fine with original Goattracker, but doesn't unfortunately seem to be an option with GTUltra, as it seems to prioritize the utilization of the MIDI keyboard.

  • Changing GTUltra's MIDI port setting to an empty row doesn't help. After rebooting software, the setting always returns to port 0 which is the keyboard and the only MIDI device connected. Changing the .cfg -file directly doesn't help either
  • Launching GTUltra after the software synthesizer -> GTUltra doesn't start at all
  • Launching software synth after GTUltra -> the keyboard is not selectable from sw synth's menu (apparently "reserved" for GT Ultra)
  • Disconnecting keyboard and reconnecting it after GTUltra is started -> GT Ultra crashes

I would prefer to have a setting to turn MIDI completely OFF on GTUltra, so that it does not interact with the keyboard at all no matter if it's connected or not. Or am I missing something? :) Is there any other workaround I could try? Running on Windows 10.

SIDBlaster-USB

Interested in better SIDBlaster USB support? I would provide two kits or devices to the developers for free. The hardsid.dll was already ported for Linux and Mac by Ken Handel.

building on linux does not work

$ make
./bme/dat2inc gt2stereo.dat goatdata.c
cc `sdl-config --cflags` -Ibme -Iasm -O3 -fpermissive   -c -o goatdata.o goatdata.c
cc1: Warnung: Kommandozeilenoption »-fpermissive« ist gültig für C++/ObjC++, aber nicht für C
cc `sdl-config --cflags` -Ibme -Iasm -O3 -fpermissive   -c -o gt2stereo.o gt2stereo.c
cc1: Warnung: Kommandozeilenoption »-fpermissive« ist gültig für C++/ObjC++, aber nicht für C
In Datei, eingebunden von bme/SDL/SDL_stdinc.h:30,
                 von bme/SDL/SDL_main.h:26,
                 von bme/SDL/SDL.h:30,
                 von bme/bme.h:6,
                 von goattrk2.h:12,
                 von gt2stereo.c:26:
bme/SDL/SDL_config.h:42:10: schwerwiegender Fehler: SDL_config_minimal.h: Datei oder Verzeichnis nicht gefunden
   42 | #include "SDL_config_minimal.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~
Kompilierung beendet.

After copying the missing file from a random source on my hd (which may or may not be correct, this file doesnt exist in my system libs) and creating a "linux" directory in the tree, it goes further until the linking stage - which then craps out with a ton of undefined and duplicate symbols.

cc `sdl-config --cflags` -Ibme -Iasm -O3 -fpermissive   -c -o bme/bme.o bme/bme.c
cc1: Warnung: Kommandozeilenoption »-fpermissive« ist gültig für C++/ObjC++, aber nicht für C
c++ -o ../linux/gt2stereo goatdata.o gt2stereo.o gsong.o gorder.o gpattern.o ginstr.o gtable.o gplay.o gdisplay.o gfile.o greloc.o ghelp.o gsound.o gconsole.o gsid.o resid/envelope.o resid/extfilt.o resid/filter.o resid/pot.o resid/sid.o resid/wave.o resid/wave6581__ST.o resid/wave6581_P_T.o resid/wave6581_PS_.o resid/wave6581_PST.o resid/wave8580__ST.o resid/wave8580_P_T.o resid/wave8580_PS_.o resid/wave8580_PST.o resid/voice.o resid-fp/envelopefp.o resid-fp/extfiltfp.o resid-fp/filterfp.o resid-fp/potfp.o resid-fp/sidfp.o resid-fp/wavefp.o resid-fp/voicefp.o asm/asmtab.o asm/chnkpool.o asm/expr.o asm/lexyy.o asm/log.o asm/membuf.o asm/membufio.o asm/namedbuf.o asm/parse.o asm/pc.o asm/vec.o bme/bme_gfx.o bme/bme_snd.o bme/bme_win.o bme/bme_mou.o bme/bme_kbd.o bme/bme_io.o bme/bme_end.o bme/bme.o `sdl-config --libs`
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8b40): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8940): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8960): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8a60): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8a80): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8c00): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o:(.bss+0x1fd8c80): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd740): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0x440): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd660): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd664): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd680): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd800): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o:(.bss+0xd880): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xd40): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0x1c0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xb44): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xb60): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xc60): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xc80): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:(.bss+0xe00): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x200): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x1c): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x20): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x120): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x140): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x2c0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ginstr.o:(.bss+0x340): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x420): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x340): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x360): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x220): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x240): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x4e0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gtable.o:(.bss+0x560): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x4560): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x4378): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x4380): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x4480): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x44a0): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x4620): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gplay.o:(.bss+0x46a0): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x6a0): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x4c0): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x4a4): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x5c0): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x5e0): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x760): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o:(.bss+0x7e0): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40000): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40020): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40120): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40140): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40200): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x402c0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gfile.o:(.bss+0x40340): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1778): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1780): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1880): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x18a0): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1960): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1a20): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: greloc.o:(.bss+0x1aa0): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x200): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x0): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x20): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x120): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x140): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x2c0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: ghelp.o:(.bss+0x340): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x50): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x60): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x160): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x180): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x240): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x300): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsound.o:(.bss+0x380): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x120): multiple definition of `undoBufferSize'; gt2stereo.o:(.bss+0x239c): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x140): multiple definition of `instrumentCount'; gt2stereo.o:(.bss+0x23a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x240): multiple definition of `disableEnterToReturnToLastPos'; gt2stereo.o:(.bss+0x24a0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x260): multiple definition of `editorInfoBackup'; gt2stereo.o:(.bss+0x24c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x320): multiple definition of `editorInfo'; gt2stereo.o:(.bss+0x2580): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x3e0): multiple definition of `keyOffsetText'; gt2stereo.o:(.bss+0x2640): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gconsole.o:(.bss+0x460): multiple definition of `jdebug'; gt2stereo.o:(.bss+0x26c0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o: warning: relocation against `jcounter' in read-only section `.text'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `waitkeymouse':
gt2stereo.c:(.text+0x727): undefined reference to `lastMS'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x72d): undefined reference to `msDelta'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x73f): undefined reference to `lastMS'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x7cb): undefined reference to `checkForMidiInput'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x83c): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x84a): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x862): undefined reference to `lastInfoPatternCh'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x86e): undefined reference to `displayPatternInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x8a4): undefined reference to `checkForMidiInput'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `load':
gt2stereo.c:(.text+0x2c62): undefined reference to `undoInitAllAreas'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `mouseTransportBar':
gt2stereo.c:(.text+0x3b23): undefined reference to `msDelta'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x3d3c): undefined reference to `msDelta'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x4013): undefined reference to `displayCharWindow'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `docommand':
gt2stereo.c:(.text+0x687a): undefined reference to `undoCreateEditorInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x68be): undefined reference to `displayInstrumentInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x68d0): undefined reference to `undoFreeUndoObject'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x68e1): undefined reference to `undoValidateUndoAreas'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x68ed): undefined reference to `undoFreeUndoObject'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6922): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6948): undefined reference to `displayOrderTableInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6a4a): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6a5b): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6a71): undefined reference to `displayPatternInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6abf): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6ad7): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6ae7): undefined reference to `displayTableInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text+0x6b19): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `generalcommands':
gt2stereo.c:(.text+0x328d): undefined reference to `undoPerform'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.o: in function `main':
gt2stereo.c:(.text.startup+0x2a): undefined reference to `initMidi'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text.startup+0x615): undefined reference to `initAreaListFlag'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text.startup+0x61f): undefined reference to `initUndoBufferFlag'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gt2stereo.c:(.text.startup+0x628): undefined reference to `undoInitAllAreas'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gsong.o: in function `clearsong.part.0':
gsong.c:(.text+0x1f2e): undefined reference to `undoInitAllAreas'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.o: in function `songchange':
gorder.c:(.text+0x113c): undefined reference to `lastInfoPatternCh'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gorder.c:(.text+0x1145): undefined reference to `displayPatternInfo'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o: in function `keyOff':
gpattern.c:(.text+0x1674): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x16ab): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x16df): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x1717): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x174f): undefined reference to `clearInfoLine'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o:gpattern.c:(.text+0x1787): more undefined references to `clearInfoLine' follow
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o: in function `autoPitchbendToNextNote':
gpattern.c:(.text+0x3352): undefined reference to `jcounter'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.o: in function `patterncommands':
gpattern.c:(.text+0x5b33): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x5b47): undefined reference to `undoAreaSetCheckForChange'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gpattern.c:(.text+0x5b56): undefined reference to `refreshVariables'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: gdisplay.o: in function `displayTransportBar':
gdisplay.c:(.text+0x26cd): undefined reference to `jcounter'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: Fehler: ld gab 1 als Ende-Status zurück
make: *** [makefile.common:25: ../linux/gt2stereo] Fehler 1

what kind of environment is this supposed to work in?

1.5.1 does not build on non-windows

I'm just trying to upgrade the FreeBSD port of GTUltra, unfortunately I can't get it to build. The errors seem all related to gt2reloc.c.

The first issue is usage of keybd_event(), which is a Windows-specific function. I don't really understand the purpose of "faking" keystrokes here, but just removing it for non-Windows helps:

@@ -219,10 +219,12 @@ int main(int argc, char **argv)
        }
        else {
                usage();
+#ifdef __WIN32__
                // ENTER key down
                keybd_event(VK_RETURN, 0x9C, 0, 0);
                // ENTER key up
                keybd_event(VK_RETURN, 0x9C, KEYEVENTF_KEYUP, 0);
+#endif
                exit(-1);
 
        }
@@ -452,10 +454,12 @@ int main(int argc, char **argv)
        // perform relocation
        relocator(&gtObject, 1);
 
+#ifdef __WIN32__
        // ENTER key down
        keybd_event(VK_RETURN, 0x9C, 0, 0);
        // ENTER key up
        keybd_event(VK_RETURN, 0x9C, KEYEVENTF_KEYUP, 0);
+#endif
        // Exit
        exit(0);
        return 0;

The next issue is a linker complaint about double definition of gtObject. I have to really start guessing here, my guess is it should reference an object defined somwhere else, so the following patch would help if this assumption would be correct:

@@ -95,7 +95,7 @@ int useOriginalGTFunctionKeys = 0;
 char debugTextbuffer[MAX_PATHNAME];
 
 int useOriginalGTFunctionKeys = 0;
-GTOBJECT gtObject;
+extern GTOBJECT gtObject;
 int useRepeatsWhenCompressing = 1;
 char infoTextBuffer[256];
 int midiEnabled = 0;

But then, I really have no idea about the next error, linking gt2reloc complains about an undefined symbol playUntilEnd, referenced by gorder.o. This one is defined in gt2stereo.o, but linking that as well creates a whole list of duplicate symbols instead.

I'll hold back the update of the FreeBSD port for now and hope for some feedback, because I don't want to build/package a broken version of GTUltra ... TIA!

Detune amount shown on the button doesn't match the actual detune amount

Clicking on the detune button only once or twice may cause the amount of detune set in the .cfg to change while the number displayed on the button doesn't. I think it could be less confusing if the amount of detune added/subtracted by each click of the button was increased so that the detune amount shown on the button actually matches the amount of detune set internally.

GTUltra doesn't delete its autosaves

GTU doesn't delete its autosaves, leading to .sngs building up in the gtbackup folder. I think GTU should delete its previous autosaves once a project is saved manually, or just have one autosave and overwrite it.

[Feature request] Update data at the bottom when new data is entered on instrument editor

When I update the instruments that I'm using in my songs, sometimes I get the AD, SR positions mixed up, and end up creating weird unintentional instruments, however I often use the display on the bottom to make sure that what I entered was what I wanted.

The bar that I'm talking about is this one:
bar

The issue that comes from this is that when you update the instrument's parameters, the bar doesn't update to show the changes that are made, and only do you get to see the new changes when you cursor down and then cursor back up again.

My wish for this is that the bar's display gets updated when you stroke a key to edit the instrument, so as to avoid this and make creating instruments just that little bit easier.

Thanks

PS: I've been enjoying the tracker a lot since I started learning it, so I might end up submitting this (when it's actually finished of course, right now it's very far from finished) as a demo song if that's possible? Thanks

Odd panning upon opening a .sng

I recently updated to the latest version of GTUltra, and when opening a .sng I was working on, I noticed all the instruments were panned weirdly, even when switching to mono mode. I've attached the .sng below.

pointless.zip

GTUltra bug: Play bug

I tried to do a little tune, and why I put that to play it didn't work: I tried Fn keys, and when i pushed them, nothing worked more

  • Notes didn't play anymore when I put them on pattern
  • Fn Keys F1 and F3 didn't work

And ironically, everything worked except these two keys

Also, i tried to change the buffer and ration lenght on .cfg file, but it stays the same...

1st frame waves' in-tracker behavior doesn't match export (or GT2 behavior)

In GTUltra's exported files (and the original GT2's tracker playback), the 1st frame wave's pitch matches that of the last frame before the new note. In GTUltra's tracker playback, the 1st frame wave's pitch is that of the note being played.

In addition to this being a compatibility issue between GT2 and GTU, mismatch between preview and export may cause issues in complex sound arrangements where the 1st frame wave of an instrument isn't 0/test bit.

.sng instrument name issue

The instrument names all have the first letter of the name of the first instrument at the beginning of them, and deleting that letter deletes the names of all the instruments.

Does not actually work on Linux

After applying the missing patch mentioned in #1 building works, but the resulting binary will not run:

$ ./gt2stereo 

MidiInDummy: This class provides no functionality.

Don't have time to dig further into this, but the case that MIDI isnt available (ie the dummy driver is used) doesnt seem to work at all.

Feature Request: Duplicate Pattern Key

It would be very convenient if there were a key combo that, when pressed, finds the lowest-numbered blank pattern and replaces it with a duplicate of the pattern your cursor is currently on (in the pattern or orderlist view). The selected pattern in the orderlist is then replaced with its duplicate.

Palette issue

Apologies for this, I thought there was a problem when there wasn't.

Exporting 4xSID tunes can crash GTUltra

Version affected: 1.4.x

Symptom:
export will crash at the step after specifying the options, SID addresses and addresses of the ZP to use.

Observations:
Seems to crash specifically when Volume Change support or Sound Effect Support is enabled.
Crash is literally just application shutdown

Platform:
WIN32

sidaddress initialized wrong

in gt2stereo.c

unsigned sidaddress = 0xd400d420;

should be

unsigned sidaddress = 0xd420d400;

so that the first SID is at address 0xd400 and the second at 0xd420

see greloc.c:

int sidAddr1 = sidaddress & 0xffff;
int sidAddr2 = (sidaddress >> 16) & 0xffff;

Merge SNG files

I try to merge 5 files. All files was optimized, so that enough table space (wave table) was free for the merge.
But I wasn't able to merge up to files 5 files. Only 4 files was merged and there was on one song some trouble with an Instrument (wave table / pulstabe was of by 1).

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.