Giter Club home page Giter Club logo

mywave82 / opencubicplayer Goto Github PK

View Code? Open in Web Editor NEW
272.0 13.0 19.0 6.17 MB

Open Cubic Player (unix fork). Music visualizer for various tracked music formats (amiga modules, S3M, IT), chiptunes and other formats related to demoscene

Home Page: https://stian.cubic.org/project-ocp.php

License: GNU General Public License v2.0

Makefile 1.75% C 86.80% C++ 8.92% M4 2.04% Gnuplot 0.01% WebAssembly 0.01% Shell 0.49%
music-visualizer music-player sid modulefiles opl2 opl3 adplug ym2149 6581 timidity

opencubicplayer's People

Contributors

alexmyczko avatar cysp74 avatar ehaupt avatar hjerning avatar jmakovicka avatar mmuman avatar mywave82 avatar nandahkrishna avatar osaukko avatar redbug26 avatar sapphirusberyl avatar zhongruoyu 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  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  avatar  avatar  avatar

opencubicplayer's Issues

SDL2 on Wayland has various issues when switching visualization modes, resizing the window, etc.

There are various issues with the SDL2 version when toggling back and forth between different visualizations, like G, g, b, o, w, a, t. Sometimes ocp crashes. Other times there are lots of flickering/flashing effects after changing modes. One time the audio output and visualizations froze although I could still change visualization modes. Sometimes the flickering stops after switching modes again or resizing the text mode window. Maximizing and restoring the window size is also problematic (Font size gets smaller in the maximized window, then much larger in the restored window. Resizing the window by dragging a corner restores the original font size). I cannot reproduce most of these issues with the X11 version.

Some outputs from various crashes:

free(): invalid pointer
Abort (core dumped)

corrupted double-linked list
Abort (core dumped)

Tested using 0.2.98 compiled on Fedora. Build logs and packages here: https://koji.fedoraproject.org/koji/packageinfo?packageID=7114

hang when switching from wurfel mode to a text mode

SDL2 and X11 versions both hang when switching from wurfel mode back to any text mode visualization (except f file chooser). Switching from w to any other graphical mode works fine, and then going from that back to a text mode works fine as well. Only when you directly switch from w to a, i, t, etc. does it hang. Music and visualizations stop. Control-C or hitting the window close box doesn't work to kill it--you have to Control-Z and kill %1.

configure per-filetype balance

first of all, thank you for this AWESOME player.

Usually I like to create a playlist and play it while working.
However, everytime a MOD is playing the music sounds very hardpanned left/right.
I tried configuring a per-filetype balance by adjusting ocp.ini:

[filetype 0]
  color=1
  name=MOD
  interface=plOpenCP
  pllink=playxm
  player=xmpPlayer
  balance=2                                           <---- I added this

However, that doesn't seem to work.

Is there another way to achive global balance-settings, but for particular filetype (MOD) another one?

Ocp crashes on getting titles of songs in directory

revision d497484

error:

dirdbGetName_internalstr: invalid node #1
terminate called after throwing an instance of 'std::logic_error'
what():  basic_string::_M_construct null not valid
Aborted.

Compiling this on a Raspberry Pi with the latest Legacy OS, gcc 8. Seems to be a recent issue! I have used the git repo code for months now, so I do know it has compiled and ran on here in the past.

gcc version requirements

During the configure step I get the following error:
checking gcc version... configure: error: 9.1.0, bad
Which gcc versions are supported?

Division by zero error when playing ogg vorbis files

Hi,

I get a division by zero error when playing most (but not all) of my any ogg vorbis files.

I can reproduce this on two computers; first one running Arch Linux (Zen5) and the other running Gentoo (i486!).

I can provide debug logs etc., unless you can easily reproduce this. If you can not, one culprit could be tags in the ogg files. I've tagged my collection with MusicBrainz (which means, the tags will be very detailed and elaborate on average).

EDIT: This on 0.2.90. Also, conversely to what I've claimed above, I can not play and ogg vorbis files currently. Case may be, my collection is quite large and I've forgotten which ogg files I was able to play, and can not find them anymore ... or, I may have been playing some other files.

No audio on MacOS 11.3, M1, installed via intel homebrew

Hi folks,

I was hoping to get OCP working on my Mac. It launches fine, but doesn't play any audio out the speakers. The startup messages may give some clues about this — I was imagining it would use CoreAudio, but it seems to not be working. Here's a slightly-trimmed startup log:

playerdevices:
 devpALSA: dlopen(/usr/local/Cellar/ocp/0.2.2/lib/ocp-0.2.2/devpalsa.dylib, 10): image not found
link error
 devpOSS : dlopen(/usr/local/Cellar/ocp/0.2.2/lib/ocp-0.2.2/devposs.dylib, 10): image not found
link error
 devpCA  : CoreAudio player................[CoreAudio] Unable to initialize Output Unit component (status = -66748 (unknown))
 not found: optimize ocp.ini!
 devpSDL2: dlopen(/usr/local/Cellar/ocp/0.2.2/lib/ocp-0.2.2/devpsdl2.dylib, 10): image not found
link error
 devpSDL : dlopen(/usr/local/Cellar/ocp/0.2.2/lib/ocp-0.2.2/devpsdl.dylib, 10): image not found
link error
 devpNone: Super High Quality Quiet Player. (#2)
 devpDisk: Disk Writer..................... (#3)
Super High Quality Quiet Player selected...

samplerdevices:
 devsOSS : dlopen(/usr/local/Cellar/ocp/0.2.2/lib/ocp-0.2.2/devsoss.dylib, 10): image not found
link error
 devsNone: Eternal Silence Recorder........ (#1)
Eternal Silence Recorder selected...

Anything I can do to get this working, or at least debug it more?

Thanks!

DiskWriter filenames should reflect the original file-name

When using the diskwriter, the output filename is currently a fixed name with a counting number at the end. It would be more user friendly if the original filename is used with a .WAV prefix (and optional counter if filename conflicts).

META data should also be stored into the .WAV file.

https://play.cubic.org/?f=https://mysite.com/mymodule.xm

Anyone ever tinkered with the idea to compile ocp to javascript using emscripten?
I've discovered chip-player-js, however it doesn't allow playing (remote) files
In theory, if ocp is SDL-compatible, emscripten could compile it to JS and access local directory(s) using https://www.npmjs.com/package/browser-fs-access, or maybe just browse thru module-repositories like https://www.stef.be/bassoontracker/.

On top of that (and to get back to the subject), OCP could make a cool online (and embeddable) player for the web.

Fragile gcc version check

From configure.in:

cc_version=`( $CC -dumpversion ) 2>&1`
[...]
	case $cc_version in
[...]
		2.95.[[2-9]]|2.95.[[2-9]][[-]].*|3.[[0-9]]|3.[[0-9]].[[0-9]]|3.[[0-9]]|3.[[0-9]].[[0-9]]-*|4.*|5.*|6.*|7*|8*|9*|10*)
			_cc_major=`echo $cc_version | cut -d '.' -f 1`
			_cc_minor=`echo $cc_version | cut -d '.' -f 2`
			_cc_mini=`echo $cc_version | cut -d '.' -f 3`
			if test $_cc_major -gt 2; then
				AC_MSG_RESULT([$cc_version, ok])
			else
				AC_MSG_ERROR([$cc_version, bad])
			fi

First, I doubt tat anyone is trying to compile with gcc-2.7.2 any more, so I doubt this check serves a purpose.

Second, gcc 11 is right around the corner and will break with this check

Third, if another gcc-like compiler gets detected the version is meaningless. I tripped over this building with Xcode 12 (i.e. clang) and it reported "12.0" making ./configure fail

Compile error: kickload.o

I try to build latest code from git on Mac OS X Catalina 10.15.7

opencubicplayer >>> make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boot TOPDIR=.././
gcc -I/opt/local/include -fno-common -fPIC -Wall -I.././ kickload.c -o kickload.o -c
In file included from kickload.c:56:
.././types.h:74:11: warning: 'CLOCK_REALTIME' macro redefined [-Wmacro-redefined]
#  define CLOCK_REALTIME CALENDAR_CLOCK
          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/time.h:155:9: note:
      previous definition is here
#define CLOCK_REALTIME _CLOCK_REALTIME
        ^
In file included from kickload.c:56:
.././types.h:75:11: warning: 'CLOCK_MONOTONIC' macro redefined [-Wmacro-redefined]
#  define CLOCK_MONOTONIC SYSTEM_CLOCK
          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/time.h:157:9: note:
      previous definition is here
#define CLOCK_MONOTONIC _CLOCK_MONOTONIC
        ^
In file included from kickload.c:56:
.././types.h:76:13: error: typedef redefinition with different types
      ('int' vs 'enum clockid_t')
typedef int clockid_t;
            ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/time.h:172:3: note:
      previous definition is here
} clockid_t;
  ^
2 warnings and 1 error generated.
make[1]: *** [kickload.o] Error 1
make: *** [dirs] Error 2

0.2.9.6 from tar.gz fail with same errors

Major bug, division by zero after playing flac track

Hi,

As per subject ocp exits with division by zero regularly after a track finished.

ad 1 "ocp" received signal SIGFPE, Arithmetic exception

0x00007ffff72b9980 in flacIdler (cpifaceSession=0x7ffff765c3c0 ) at flacplay.c:634

634 bitrate = (postPOS - prePOS) * 8 * samplerate_for_bitrate / samples_for_bitrate;

#0 0x00007ffff72b9980 in flacIdler (cpifaceSession=0x7ffff765c3c0 ) at flacplay.c:634
#1 0x00007ffff72b9ad1 in flacIdle (cpifaceSession=0x7ffff765c3c0 ) at flacplay.c:675
#2 0x00007ffff72b890b in flacLooped (cpifaceSession=0x7ffff765c3c0 , LoopMod=0) at flacpplay.c:199
#3 0x00007ffff76343e6 in plmpDrawScreen () at cpiface.c:2379
#4 0x00007ffff76348f5 in plmpCallBack () at cpiface.c:2572
#5 0x00007ffff7cb66a4 in fsMain (argc=1, argv=0x7fffffffe798) at pfsmain.c:304
#6 0x00007ffff7fb46dd in init_modules (argc=1, argv=0x7fffffffe798) at pmain.c:954
#7 0x00007ffff7fb493a in bootup (argc=1, argv=0x7fffffffe798, ConfigDir=0x55555555a2a0 "
_", DataDir=0x55555555b300 "/usr/share/ocp/data/", ProgramDir=0x55555555a9d0 "/usr/lib/ocp/") at pmain.c:1023
#8 0x0000555555556b00 in runocp (handle=0x55555555a350, argc=1, argv=0x7fffffffe798) at kickload.c:545
#9 0x0000555555556c3d in main (argc=1, argv=0x7fffffffe798) at kickload.c:589

Code error is obvious:
60
61 static int samples_for_bitrate;
62 static int samplerate_for_bitrate;
63 static int bitrate;
64

[...]
616 samples_for_bitrate = 0;
617 prePOS = flacfile->getpos (flacfile);
618 #if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT <= 7
619 if ((FLAC__seekable_stream_decoder_get_state(decoder)==FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM)||(!FLAC__seekable_stream_decoder_process_single
620 #else
621 if ((FLAC__stream_decoder_get_state(decoder)==FLAC__STREAM_DECODER_END_OF_STREAM)||(!FLAC__stream_decoder_process_single(decoder)))
622 #endif
623 {
624 if (donotloop)
625 {
626 eof_flacfile=1;
627 break;
628 } else {
629 flacPendingSeek = 1;
630 flacPendingSeekPos = 0;
631 }
632 }
633 postPOS = flacfile->getpos (flacfile);
634 bitrate = (postPOS - prePOS) * 8 * samplerate_for_bitrate / samples_for_bitrate;

At first I simply commented out line 616, and during the first song bitrate seemed good, but at second song that was wrong...
So my second attempt is below - not great, not terrible....
--- ocp/playflac/flacplay.c.old 2022-08-19 13:25:12.492653739 +0200
+++ ocp/playflac/flacplay.c 2022-08-19 13:25:34.219729675 +0200
@@ -631,7 +631,7 @@
}
}
postPOS = flacfile->getpos (flacfile);

  •           bitrate = (postPOS - prePOS) * 8 * samplerate_for_bitrate / samples_for_bitrate;
    
  •           bitrate = samples_for_bitrate != 0 ? (postPOS - prePOS) * 8 * samplerate_for_bitrate / samples_for_bitrate : 0;
      }
    

}

Should I create PR or you will modify this?

Can not compile on Ubuntu 18.04.3 LTS.

I can't compile on Ubuntu 18.04.3 LTS. :(

gcc -I/opt/local/include -fPIC -Wall -I.././ -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL poutput-sdl.c -o poutput-sdl.o -c
poutput-sdl.c: In function ‘set_state_textmode’:
poutput-sdl.c:149:2: warning: #warning TODO, is this right? [-Wcpp]
#warning TODO, is this right?
^~~~~~~
poutput-sdl.c: In function ‘plSetTextMode’:
poutput-sdl.c:258:2: warning: #warning TODO, is this right? [-Wcpp]
#warning TODO, is this right?
^~~~~~~
poutput-sdl.c:269:2: warning: #warning We have disabled textmode being able to change resolution of Screen [-Wcpp]
#warning We have disabled textmode being able to change resolution of Screen
^~~~~~~
poutput-sdl.c: In function ‘set_state_graphmode’:
poutput-sdl.c:309:2: warning: #warning TODO, is this right? [-Wcpp]
#warning TODO, is this right?
^~~~~~~
gcc -I/opt/local/include -fPIC -Wall -I.././ -D_REENTRANT -I/usr/include/SDL2 poutput-sdl2.c -o poutput-sdl2.o -c
gcc -I/opt/local/include -fPIC -Wall -I.././ -shared -o poutput.so console.o poutput-curses.o poutput-vcsa.o poutput-fb.o poutput-keyboard.o pfonts.o poutput.o poutput-x11.o x11-common.o poutput-sdl.o poutput-sdl2.o -lncursesw -ltinfo -lXxf86vm -lXext -lXpm -lX11 -L/usr/X11R6/lib -lSDL -lSDL2
poutput-sdl2.o:(.rodata+0x50): multiple definition of FontSizeInfo' poutput-sdl.o:(.rodata+0x50): first defined here poutput-sdl2.o:(.data+0x460): multiple definition of translate'
poutput-sdl.o:(.data+0x360): first defined here
poutput-sdl2.o:(.data+0x8a0): multiple definition of translate_shift' poutput-sdl.o:(.data+0x7a0): first defined here poutput-sdl2.o:(.data+0x980): multiple definition of translate_ctrl'
poutput-sdl.o:(.data+0x880): first defined here
poutput-sdl2.o:(.data+0xa60): multiple definition of `translate_alt'
poutput-sdl.o:(.data+0x960): first defined here
collect2: error: ld returned 1 exit status
Makefile:37: recipe for target 'poutput.so' failed
make[1]: *** [poutput.so] Error 1
make[1]: Leaving directory '/mnt/minden/Sources/opencubicplayer/stuff'
Makefile:141: recipe for target 'dirs' failed
make: *** [dirs] Error 2

v0.2.1 compilation fails with `duplicate symbol _got_a_configuration` on Mac

v0.2.1 fails to compile on macOS:

clang -g -O2 -fno-common -fPIC -Wall -Itimidity-git/interface -Itimidity-git/libarc -Itimidity-git/libunimod -Itimidity-git/timidity -Itimidity-git/utils -I. -DHAVE_CONFIG_H -I.././ -dynamiclib -flat_namespace -undefined suppress -o playtimidity.dylib timiditypchan.o timidityplay.o timiditypplay.o timiditypdots.o ocp-output.o timidity-git/interface/wrdt_dumb.o timidity-git/libarc/arc.o timidity-git/libarc/arc_mime.o timidity-git/libarc/arc_lzh.o timidity-git/libarc/arc_tar.o timidity-git/libarc/arc_zip.o timidity-git/libarc/deflate.o timidity-git/libarc/explode.o timidity-git/libarc/inflate.o timidity-git/libarc/unlzh.o timidity-git/libarc/url.o timidity-git/libarc/url_b64decode.o timidity-git/libarc/url_cache.o timidity-git/libarc/url_dir.o timidity-git/libarc/url_file.o timidity-git/libarc/url_hqxdecode.o timidity-git/libarc/url_inflate.o timidity-git/libarc/url_mem.o timidity-git/libarc/url_pipe.o timidity-git/libarc/url_qsdecode.o timidity-git/libarc/url_uudecode.o timidity-git/timidity/aq.o timidity-git/timidity/audio_cnv.o timidity-git/timidity/common.o timidity-git/timidity/effect.o timidity-git/timidity/filter.o timidity-git/timidity/freq.o timidity-git/timidity/instrum.o timidity-git/timidity/loadtab.o timidity-git/timidity/mfi.o timidity-git/timidity/miditrace.o timidity-git/timidity/mix.o timidity-git/timidity/mt19937ar.o timidity-git/timidity/optcode.o timidity-git/timidity/quantity.o timidity-git/timidity/rcp.o timidity-git/timidity/readmidi.o timidity-git/timidity/recache.o timidity-git/timidity/resample.o timidity-git/timidity/reverb.o timidity-git/timidity/sbkconv.o timidity-git/timidity/sffile.o timidity-git/timidity/sfitem.o timidity-git/timidity/smfconv.o timidity-git/timidity/smplfile.o timidity-git/timidity/sndfont.o timidity-git/timidity/tables.o timidity-git/timidity/timidity.o timidity-git/timidity/version.o timidity-git/timidity/wrd_read.o timidity-git/timidity/wrdt.o timidity-git/utils/mblock.o timidity-git/utils/fft4g.o timidity-git/utils/memb.o timidity-git/utils/nkflib.o timidity-git/utils/strtab.o timidity-git/utils/timer.o -lm
duplicate symbol _got_a_configuration in:
    timidityplay.o
    timidity-git/timidity/timidity.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [playtimidity.dylib] Error 1
make: *** [playgmi/gmiptype.o] Error 2
make: *** Waiting for unfinished jobs....
duplicate symbol _got_a_configuration in:
    timidityplay.o
    timidity-git/timidity/timidity.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [playtimidity.dylib] Error 1
make: *** [dirs] Error 2

Freezes time to time and repeat latest notes.

Ocp time to time freezes on my laptop and repeat latest sound until I kill process via cli or process monitor.
I checked SDL and curses modes. Curses more stable, but get freeze too after some time.
I tried get debug info via lldb, nothing special. I always run OCP from terminal and don't see any debug messages get cause of it.
Another sound apps working normally. I use "xmp" (console modules player), it works ok, not freezing.

Below start diagnostic messages when I run OCP from terminal. Maybe it can be helpful.

# opencubicplayer >>> ocp
Setting to cfConfigDir to /Users/someuser/.ocp/
Setting to cfDataDir to /usr/local/share/ocp/data/
Setting to cfProgramDir to /usr/local/lib/ocp/
Open Cubic Player for Unix v0.2.97, compiled on May 10 2022, 22:06:17
Ported to Unix by Stian Skjelstad
linking default objects...
running initializers...
initializing fileselector...
adbMetaInit: open(cfConfigDir/CPARCMETA.DAT): No such file or directory
Loading /Users/someuser/.ocp/CPMODNFO.DAT .. Done
open(cfConfigDir/CPDIRDB.DAT): No such file or directory
Loading /Users/someuser/.ocp/CPMUSBRN.DAT .. Empty database
Initing console...
wavetabledevices:
 devwMixF: FPU Mixer....................... (#1 t0)
 devwmixQ: Mixer........................... (#2 t1)
 devwMix : Mixer........................... (#3 t0)
 devwNone: None............................ (#4)
FPU Mixer selected...
[devwmixf] INIT, using dwmixfa.c C version

playerdevices:
 devpALSA: dlopen(/usr/local/lib/ocp/devpalsa.dylib, 10): image not found
link error
 devpOSS : dlopen(/usr/local/lib/ocp/devposs.dylib, 10): image not found
link error
 devpCA  : CoreAudio player................ (#1 p0 q0)
 devpSDL2: SDL Player...................... (#2 p0 q0)
 devpSDL : dlopen(/usr/local/lib/ocp/devpsdl.dylib, 10): image not found
link error
 devpNone: Super High Quality Quiet Player. (#3)
 devpDisk: Disk Writer..................... (#4)
CoreAudio player selected...

Ocp build from latest src :

commit 0d719561bf5df71dae96f057001bc97d45363efe (HEAD -> master, origin/master, origin/HEAD)
Author: Stian Skjelstad <[email protected]>
Date:   Tue May 10 10:38:53 2022 +0200

Mac OS Catalina 10.15.7
MacBook Pro (13-inch, 2020)

feature request: open directory

would be awesome if ocp would detect whether the cli arg is a module or directory.
For example:

ocp mods/artist/ctrix

and open the filebrowser on that dir.

Assertion failed: (samples <= self->cache_read_available)

Time to time OCP die with message:

Assertion failed: (samples <= self->cache_read_available), function ringbuffer_tail_consume_samples, file ringbuffer.c, line 141.

Latest two time I catched it on Ultratracker's modules. Before I had same issue with another formats

==
version 0.2.97 (build from master:head)
Mac OS Catalina 10.15.7

curses mode in terminal

Fail during run ./configure

I try to make ocp from sources.
When i run ./configure it ask me get submodules:

checking GIT submodules are checked out... configure: error: playtimidity/timidity-git is missing - please execute 'git submodule update --init --recursive'

Next when i run submodule update commands:

Submodule 'src/builders/resid-builder/resid' (https://github.com/mywave82/resid.git) registered for path 'playsid/libsidplayfp-git/src/builders/resid-builder/resid' Cloning into '/home/trx/tmp/opencubicplayer/playsid/libsidplayfp-git/src/builders/exsid-builder/driver'... Cloning into '/home/trx/tmp/opencubicplayer/playsid/libsidplayfp-git/src/builders/resid-builder/resid'... Submodule path 'playsid/libsidplayfp-git/src/builders/exsid-builder/driver': checked out '9d8b572b92089912a95f67fb1c42892a2e69096e' fatal: remote error: upload-pack: not our ref c94fcf9161fb72a1b8f89eee7870069d65504fba Fetched in submodule path 'playsid/libsidplayfp-git/src/builders/resid-builder/resid', but it did not contain c94fcf9161fb72a1b8f89eee7870069d65504fba. Direct fetching of that commit failed. Submodule path 'playtimidity/timidity-git': checked out '77cd92db7251393959be71af3d065949847bbdf9' Failed to recurse into submodule path 'playsid/libsidplayfp-git'

OS: Antix, based on Debian GNU/Linux 11 (bullseye)

Can' compile on Ubuntu 18.04.4

I can't compile on ubuntu 18.04.4 LTS.

make -C stuff TOPDIR=.././
make[1]: Entering directory '/mnt/minden/Sources/opencubicplayer/stuff'
make[1]: *** No rule to make target 'poutput-swtext.h', needed by 'poutput-x11.o'. Stop.
make[1]: Leaving directory '/mnt/minden/Sources/opencubicplayer/stuff'
Makefile:141: recipe for target 'dirs' failed
make: *** [dirs] Error 2

guitar_slinger.mod plays incorrectly at orders 25-28

guitar_slinger (guitar_slinger.mod) at https://modarchive.org/index.php?request=view_by_moduleid&query=104218 plays incorrectly with wrong notes at orders 25-28 in channels 3 & 4. mikmod and xmp both play this file correctly.

Played correctly:

order 23 rows 06-07 and 1E-1F
order 24 rows 06-07 and 1E-1F
order 24 rows 06-07 and 1E-1F
order 25 rows 06-07
order 27 rows 06-07

Played wrong:

order 25 rows 1E-1F
order 26 rows 06-07 and 1E-1F
order 27 rows 1E-1F
order 28 rows 06-07 and 1E-1F

Not an Issue

I was able to compile and install v0.2.2.tar.gz. Some minor changes was needed.
I've included <stdint.h> on lzh.h and plinkman.h

log.txt
config.log

DiskWriter will pad file at the end

DiskWriter will continue to pad up the end of the file if render is complete, and player is "stuck" in the filebrowser for a long period. This issue might not be present with all play-drivers combinations.

ocp does not close after typing Ctrl-C into the terminal or clicking the close box once on the UI window

Typing Ctrl-C in the terminal window where ocp was launched from or clicking the close box once on the UI window doesn't close ocp. Ctrl-C seems to print a register dump and reopens the UI windows no matter how many times you type it. It might be nice to kill ocp after the 2nd or subsequent Ctrl-C. This would be especially helpful if ocp hangs for whatever reason.

While a file is playing, the Window Close box closes only on the 2nd click--the 1st click turns the top bar red, like Esc key does, then the 2nd click closes normally. The Esc key behavior makes sense and is how ocp has always worked in the DOS days etc. But I wonder if the graphical UI shouldn't behave that way--perhaps Close should always close on the 1st click like all other GUI programs work.

See also https://bugzilla.redhat.com/show_bug.cgi?id=2086433

TODO: Timidity configdir

a) configure needs to be more strict about the default value
b) we need to make this overrid-able in ocp.ini
c) possible even in file-browser...

ymtype.so and playym.so are built during "make install" rather than "make"

During the "make install" phase, the compiler is called to build two .so files in the playym directory:

g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Wall -I.././ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/ocp-0.2.97/.package_note-ocp-0.2.97-1.fc37.x86_64.ld -o ymtype.so ymtype.o -llzh -Llzh g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Wall -I.././ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/ocp-0.2.97/.package_note-ocp-0.2.97-1.fc37.x86_64.ld -o playym.so ympplay.o ymplay.o -llzh -lym -Llzh -Lstsoundlib

Is there a missing Makefile dependency?

ocp 0.2.90: build failure on macOS 10.14 (Mojave) with SDL2

Hello, Homebrew maintainer here. I'm trying to get 0.2.90 to work with sdl2, to fix problems where audio wasn't playing (PR: Homebrew/homebrew-core#77633). I can confirm that I am able to play audio on newer versions of macOS.

However, the build fails on macOS 10.14:

clang -g -O2 -fno-common -fPIC -Wall -I.././ -dynamiclib -flat_namespace -undefined suppress -o devpsdl2.dylib devpsdl2.o -L/usr/local/lib -lSDL2
ld: file not found: /System/Library/Frameworks/CoreHaptics.framework/Versions/A/CoreHaptics for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [devpsdl2.dylib] Error 1
make: *** [dirs] Error 2

The Core Haptics framework is present only in macOS 10.15 and above, but I wonder if it's necessary for ocp. The full logs are available here: https://github.com/Homebrew/homebrew-core/pull/77633/checks?check_run_id=2625181675.

Is there anything else we should be doing/changing to get this to work? Thanks!

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.