Giter Site home page Giter Site logo

exch-bms2 / beatoraja Goto Github PK

View Code? Open in Web Editor NEW
621.0 44.0 146.0 336.81 MB

Cross-platform rhythm game based on Java and libGDX.

License: GNU General Public License v3.0

Java 95.16% Batchfile 0.05% Shell 0.01% GLSL 0.22% CSS 0.01% Lua 4.53% Dockerfile 0.02%
bmson rhythm-game

beatoraja's People

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  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

beatoraja's Issues

ASIO support for beatoraja in linux environments

Looks like ASIO + Beatoraja doesn't work in Linux environments, of course jasiohost32/64 does NOT function in linux as the wrapper is intended only for Windows' systems. Is targeted support for ASIO + Linux + Java possible? I can't find any documentation on this however, and still unsure whether an ASIO SDK for Java is available or if it comes shipped as native vendor support...

Take a peak here. sound.properties file which changes audio service of given Java environment in Linux.

btw: I have a USB soundcard now and roundtrip latency is kind of terrible using PulseAudio as default audio service in Java. :(

beatoraja icons

I tried to make some logo for beatoraja. Not sure if it looks good, but i will just leave it here.
Also is there some documentation for making Theme for beatoraja?
beatoraja_logo-14

ReplayDara is saved without PaternModifyLog in a particular situation

  1. When I play with random option, I can restart with the same note as before by pressing white key and black key at the same time. Sometimes, that doesn't do right as they show the original note.

  2. When I play it once again with random option by pressing white key and black key at the same time, and turned it off and on, then the replay do weird because note that I press does not match with the note that I can see.
    Example video : https://youtu.be/-j_cBnyjYes
    This video is from beatoraja 0.4.2

Can't change resolution

screen shot 2017-06-10 at 15 53 57

This problem happens on release 0.4.1 and also on latest builds from repository till now.
Its possible to get HD resolution by editing config.json. There is missing FHD and UHD option that was available before.

System Specs

Computer: Macbook Pro 17-inch 2009 Late

CPU: 3,06 GHz Intel Core 2 Duo

GPU: NVIDIA GeForce 9600M GT 512 MB

RAM: 8GB 1067 MHz DDR3

Internal storage: SSD Samsung Pro 480GB

OS: 10.12.5 macOS Sierra

Native Resolution: 1920x1200

BMS storage details

Storage: LaCie Rugged All-Terrain 500 GB FireWire 800/ FireWire 400/USB 2.0 Portable External HDD

Format: NTFS

Capacity: 500 GB

Total of BMS data: 421 GB

Structure of BMS Directory: root/BMS/event group/event/song/data

beatoraja settings

beatoraja Resolution: 1280x720

Fullscreen: off

Audio :OpenAL

HI-SPEED fix: MAX BPM

Playskin: WMIX_HD

key configuration

Hi,
I know this isn't really an issue but I do not know where else to ask - how do I configure the keyboard?

"Too many open files" exception while scanning bms files.

While scanning my large BMS directory beatoraja runs out of file descriptors.

I ran git bisect and found that the bug was introduced in aa38897

java.nio.file.FileSystemException: /BMS2/Insane BMS/[MIDI Mash BMS shammy BGA tutidama] 幻の大地セルペンティナ/_noBGA: Too many open files at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427) at java.nio.file.Files.newDirectoryStream(Files.java:457) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:475) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.updateSongDatas(SongDatabaseAccessor.java:447) at bms.player.beatoraja.SongDatabaseAccessor.updateSongDatas(SongDatabaseAccessor.java:346) at bms.player.beatoraja.PlayConfigurationView.loadBMS(PlayConfigurationView.java:351) at bms.player.beatoraja.PlayConfigurationView.loadAllBMS(PlayConfigurationView.java:332) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Node.fireEvent(Node.java:8411) at javafx.scene.control.Button.fire(Button.java:185) at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:388) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387) at com.sun.glass.ui.View.handleMouseEvent(View.java:555) at com.sun.glass.ui.View.notifyMouse(View.java:937) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139) at java.lang.Thread.run(Thread.java:745) Sep 11, 2016 2:21:17 AM bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater updateSongDatas SEVERE: 楽曲データベース更新時の例外:/BMS2/Insane BMS/[MIDI Mash BMS shammy BGA tutidama] 幻の大地セルペンティナ/_noBGA: Too many open files java.nio.file.FileSystemException: /BMS2/Insane BMS/[MIDI Mash BMS shammy BGA tutidama] 幻の大地セルペンティナ/_noBGA: Too many open files at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427) at java.nio.file.Files.newDirectoryStream(Files.java:457) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:571) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.processDirectory(SongDatabaseAccessor.java:585) at bms.player.beatoraja.SongDatabaseAccessor$SongDatabaseUpdater.updateSongDatas(SongDatabaseAccessor.java:447) at bms.player.beatoraja.SongDatabaseAccessor.updateSongDatas(SongDatabaseAccessor.java:346) at bms.player.beatoraja.PlayConfigurationView.loadBMS(PlayConfigurationView.java:351) at bms.player.beatoraja.PlayConfigurationView.loadAllBMS(PlayConfigurationView.java:332) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Node.fireEvent(Node.java:8411) at javafx.scene.control.Button.fire(Button.java:185) at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:388) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387) at com.sun.glass.ui.View.handleMouseEvent(View.java:555) at com.sun.glass.ui.View.notifyMouse(View.java:937) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139) at java.lang.Thread.run(Thread.java:745)

[MacOS] Any key input aren't accepted

I have no problem with config window, but application stops responding after booting main game. I can't input on a keyboard at main game window.
It doesn't seem to be completely freezing because the bottom right clock works normally.
Is there any help? I tried on macOS 10.11.6

beatoraja freezes in middle of specific song on mac

Issue:
beatoraja freezes at TIME 1:36 on this bms: daisan - 天上のポリスルイン [Hyper]
BMS Download: http://colosseo.nekokan.dyndns.info/c02_shuffle/detail.php?n=9

System Specs:
Computer: Macbook Pro 17-inch 2009 Late
CPU: 3,06 GHz Intel Core 2 Duo
GPU: NVIDIA GeForce 9600M GT 512 MB
RAM: 8 GB 1067 MHz DDR3
Internal storage: SSD Samsung Pro 480GB
OS: 10.11.6 OS X El Capitan
Native Resolution: 1920x1200
beatoraja Resolution: 1280x720

beatoraja version: 0.4

to reproduce:
Assist Option: CONSTANT
play with Auto

Log:

2017-03-23 16:01:39.260 java[56757:386136] 16:01:39.260 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Controllers: added manager for application, 1 managers active
Mar 23, 2017 4:01:41 PM bms.player.beatoraja.skin.Skin prepare
INFO: 描画されないことが確定しているSkinObject削除 : 0 / 102
Mar 23, 2017 4:01:41 PM bms.player.beatoraja.MainController create
INFO: 初期化時間(ms) : 1487

Mar 23, 2017 4:01:48 PM bms.player.beatoraja.skin.Skin prepare
INFO: 描画されないことが確定しているSkinObject削除 : 0 / 5
[mpegvideo @ 0x7fa33585ac00] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegvideo, from '/Users/dan/Documents/dan/Games/Rhythm Games/BMS projects/OTHER BMS/Polis Ruin/PR_BGA.mpg':
  Duration: 00:02:10.00, bitrate: 1149 kb/s
    Stream #0:0: Video: mpeg1video, yuv420p(tv), 256x256 [SAR 1:1 DAR 1:1], 1150 kb/s, 24 fps, 24 tbr, 1200k tbn, 24 tbc
Mar 23, 2017 4:01:49 PM bms.player.beatoraja.play.bga.BGAProcessor setModel
INFO: BGAファイル読み込み完了。BGA数:1
Mar 23, 2017 4:01:51 PM bms.player.beatoraja.play.BMSPlayer <init>
INFO: アシストオプション設定完了
Mar 23, 2017 4:01:51 PM bms.player.beatoraja.play.BMSPlayer <init>
INFO: 譜面オプション :  0
Mar 23, 2017 4:01:51 PM bms.player.beatoraja.play.BMSPlayer <init>
INFO: ゲージ設定完了
Mar 23, 2017 4:01:52 PM bms.player.beatoraja.play.BMSPlayer create
INFO: スコアデータベースからスコア取得
Mar 23, 2017 4:01:52 PM bms.player.beatoraja.skin.Skin prepare
INFO: 描画されないことが確定しているSkinObject削除 : 52 / 94
pause
Mar 23, 2017 4:02:04 PM bms.player.beatoraja.audio.AbstractAudioDriver setModel
INFO: 音源ファイル読み込み完了。音源数:685
Mar 23, 2017 4:02:04 PM bms.player.beatoraja.audio.AbstractAudioDriver$AudioCache disposeOld
INFO: 現在のAudioCache容量 : 684
Mar 23, 2017 4:02:04 PM bms.player.beatoraja.play.bga.BGImageProcessor prepare
INFO: BGAデータの事前Texture化 - BGAデータ数:0 time(ms):0
Mar 23, 2017 4:02:04 PM bms.player.beatoraja.play.BMSPlayer render
INFO: current free memory : 1143MB , disposed : 296MB
Mar 23, 2017 4:02:04 PM bms.player.beatoraja.play.BMSPlayer render
INFO: STATE_READYに移行
Mar 23, 2017 4:02:05 PM bms.player.beatoraja.play.BMSPlayer render
INFO: STATE_PLAYに移行
Mar 23, 2017 4:02:07 PM bms.player.beatoraja.play.bga.FFmpegProcessor$MovieSeekThread run
INFO: decode開始 - fps : 24.0 format : mpegvideo size : 256 x 256 length (frame / time) : 3119 / 129999138
AL lib: (WW) FreeDevice: (0x7fa335d5ea00) Deleting 688 Buffer(s)
Exception in thread "LWJGL Application" java.lang.ArrayIndexOutOfBoundsException: 1070
	at bms.player.beatoraja.play.LaneRenderer.drawLane(Unknown Source)
	at bms.player.beatoraja.play.SkinNote.draw(Unknown Source)
	at bms.player.beatoraja.skin.Skin.drawAllObjects(Unknown Source)
	at bms.player.beatoraja.MainController.render(Unknown Source)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
Exception in thread "Thread-13" java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalGetSourcei(II)I
	at org.lwjgl.openal.AL10.nalGetSourcei(Native Method)
	at org.lwjgl.openal.AL10.alGetSourcei(AL10.java:853)
	at com.badlogic.gdx.backends.lwjgl.audio.OpenALAudio.stopSourcesWithBuffer(OpenALAudio.java:194)
	at com.badlogic.gdx.backends.lwjgl.audio.OpenALSound.stop(OpenALSound.java:93)
	at bms.player.beatoraja.audio.GdxSoundDriver.stop(Unknown Source)
	at bms.player.beatoraja.audio.GdxSoundDriver.stop(Unknown Source)
	at bms.player.beatoraja.audio.AbstractAudioDriver.play0(Unknown Source)
	at bms.player.beatoraja.audio.AbstractAudioDriver.play(Unknown Source)
	at bms.player.beatoraja.play.BMSPlayer.play(Unknown Source)
	at bms.player.beatoraja.play.JudgeManager.update(Unknown Source)
	at bms.player.beatoraja.play.BMSPlayer$KeyInputThread.run(Unknown Source)
Exception in thread "Thread-12" java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalGetSourcei(II)I
	at org.lwjgl.openal.AL10.nalGetSourcei(Native Method)
	at org.lwjgl.openal.AL10.alGetSourcei(AL10.java:853)
	at com.badlogic.gdx.backends.lwjgl.audio.OpenALAudio.stopSourcesWithBuffer(OpenALAudio.java:194)
	at com.badlogic.gdx.backends.lwjgl.audio.OpenALSound.stop(OpenALSound.java:93)
	at bms.player.beatoraja.audio.GdxSoundDriver.stop(Unknown Source)
	at bms.player.beatoraja.audio.GdxSoundDriver.stop(Unknown Source)
	at bms.player.beatoraja.audio.AbstractAudioDriver.play0(Unknown Source)
	at bms.player.beatoraja.audio.AbstractAudioDriver.play(Unknown Source)
	at bms.player.beatoraja.play.BMSPlayer.play(Unknown Source)
	at bms.player.beatoraja.play.BMSPlayer$AutoplayThread.run(Unknown Source)

Basic judgment(#rank) setting

  • In case of BMS where judgment notation is missing it will be set to a difficult judgment to play. In this case, I want you to set the basic judgment automatically, please be able to forcibly set the normal judgment and the hard judgment in the player and play it

  • 判定表記が欠落しているBMSの場合プレイするのは難しい判定に設定されてしまいます。この場合に、基本的な判定を自動的に設定して欲しいです、そしてプレーヤーでノーマルやハード判定を強制的に設定してプレイすることができてください

a proposal for improve

  • Storing the value of a judgment ms value with a score to the server, and then using the value to determine Cheat.
  • Display a dispersion of the value (variance, standard deviation) and The average of the absolute value in the results screen.

Crash when second running

Download, and unzip.

1.Run beatoraja-config.bat
2.Not push 'run', close the (configuration)window.
3.Retry to run. It may Crash.

Only for first running. Sorry for poor English. 

Crash when entering practice mode (release 0.5)

Observed since 9af52c7.

Exception in thread "LWJGL Application" java.lang.ArrayIndexOutOfBoundsException: 0
at bms.player.beatoraja.skin.SkinObject.getColor(Unknown Source)
at bms.player.beatoraja.skin.SkinObject.draw(Unknown Source)
at bms.player.beatoraja.skin.SkinNoteDistributionGraph.draw(Unknown Source)
at bms.player.beatoraja.play.PracticeConfiguration.draw(Unknown Source)
at bms.player.beatoraja.play.SkinBGA.draw(Unknown Source)
at bms.player.beatoraja.skin.Skin.drawAllObjects(Unknown Source)
at bms.player.beatoraja.MainController.render(Unknown Source)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

Customizable millisecond-based miss image display time and disappear behavior

Customizable display time for miss images

In LunaticRave2, a common BMS player within beatoraja, has a feature to customize how long (default is 500ms) to show a "miss image" that shows when you get a "BAD/POOR" miss judges during the gameplay. I don't like these miss images because that'll ruin the gameplay on my feeling so I set the view length to 0ms (that hides miss images) on LR2. I should recommend this as a part of your better gameplay experience.

Behavior of timing to make miss image disappear

In BM98 (non-Drink Edition releases) and MixWaver (both 1 and 2), a classic BMS player that had a popularity in past, has an availability to quickly disappear a miss images when you get a JUST GREAT/GREAT/GOOD judge like in original 5-key beatmania series. Some players will hate a long display time for these miss images, and IIDX doesn't make them disappear like original 5-key ones.
I know the miss image is only the realtime gameplay-synced layer animations (in original 5-key beatmania series, many BGA layers are synced to gameplay) and others aren't. I suggest to add a behavior for that in following options:

  1. Normal (default): The miss image will shown until the display time you set
  2. Positive Judge (BM98-style): Same as "Normal" behavior, but additionally, it'll quickly disappears when you get a JUST GREAT/GREAT/GOOD judge

Thank you.

*Edit 1: I fixed the word ("view length" to "display time") to make it more understandable.
*Edit 2: I added a section about an option to change the behavior of timing to make the miss image disappear.

how can i use separate skin folder?

i try to make a skin that does not depend on default.
but it's path seem like constant
Where do I change the contents of the configuration file?

[0.4.1] beat-5k charts with scratches get skipped

BMSON charts that contain scratches with mode_hint set to beat-5k get skipped from being added to the database with following error message:

D:\Gry\beatoraja_fresh>java -Xms1g -Xmx4g -jar beatoraja.jar -c
cze 11, 2017 4:50:14 PM bms.player.beatoraja.PlayConfigurationView loadBMS
INFO: song.db????
java.lang.ArrayIndexOutOfBoundsException: 7
at bms.model.BMSONDecoder.decode(Unknown Source)
at bms.model.BMSONDecoder.decode(Unknown Source)
at bms.player.beatoraja.song.SQLiteSongDatabaseAccessor$BMSFolderThread.
run(Unknown Source)
cze 11, 2017 4:50:14 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor$Son
gDatabaseUpdater updateSongDatas
INFO: ?????? : Time - 204 1??????? - 204
cze 11, 2017 4:50:14 PM bms.player.beatoraja.PlayConfigurationView loadBMS
INFO: song.db????

Charts that don't have scratches don't exhibit this problem. This bug does not happen in version 0.4.

I've included a .zip file that contains 2 5-key BMSON charts with mode_hint set to beat-5k, one of which has a scratch note in it, and one doesn't.
You can download it here:
beatoraja_5k_bug.zip

issue with input not registering notes in-game

I can play with the latest release binary build (0.4.1 as of now), but if I compile from source and play the latest build the game (Play screen) does not register notes, even though the lanes activate as they should etc. Constant "poors."... I can provide video if that helps.

When I execute jar with a non-existing BMS path, the application receives no keyboard inputs

What happens:
Immediately after the game window appear, the game window disappears.
After that, the console window receives no keyboard input.
I built the source code and ran the application,
but the same thing has happened with Released version 0.4.1.

Expected behavior:
The application exits immediately, and returns to cmd.exe

Reproduce step:
execute beatoraja.jar with a non-existing BMS path.
(for example: java -jar beatoraja.jar C:\non-existing-file )

Console output:

Controllers: added manager for application, 1 managers active

5 27, 2017 2:25:00 午後 bms.model.BMSDecoder decode
重大: BMSファイル解析中の例外 : java.nio.file.NoSuchFileException - C:\non-existing-file
5 27, 2017 2:25:00 午後 bms.player.beatoraja.PlayerResource setBMSFile
警告: 楽曲が存在しないか、解析時にエラーが発生しました:C:\non-existing-file
Exception in thread "LWJGL Application" java.lang.NullPointerException
        at bms.player.beatoraja.play.BMSPlayer.<init>(Unknown Source)
        at bms.player.beatoraja.MainController.changeState(Unknown Source)
        at bms.player.beatoraja.MainController.create(Unknown Source)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)

Environment:

  • Windows 10 64bit
  • JRE 1.8.0_131
  • Apache Ant 1.10.1

[feedback request] Loading-time branch in JSON skin

I'm now considering how to introduce this feature. One possible implementation that I think better is already implemented in a branch, but it may need some discussion.

Motivation

At the moment, JSON skin supports branching by op values in class Destination only, and it lacks more flexible branching at loading-time like #IF command in LR2 skin. This compels us to make a lot of skin files for all combinations of options. (For example, 1P-LeftScratch-Normal, 1P-LeftScratch-Wide, ...)

It is not easy to introduce this maintaining compatibility because JSON skin uses reflection-based deserialization which assumes rigid correspondence between Java classes and JSON values. I have come up with several approaches:

  1. Use custom serializers to resolve #IF-like structures which are directly embedded in JSON skins. (implemented)
  2. Keep the main part of a skin as it is and introduce an additional part that overrides data depending on options.
  3. Define a new format containing #IF-like structures and convert it to a normal skin format.

Implementation with custom serializers (implemented here)

This is not so flexible as #IF command, but sufficient for most needs, I think. The implementation is a little tricky. Backward compatibility is maintained. Please report me if it cannot read existing skins.

The following example has conditional elements embedded in an array of Image. ArraySerializer interprets it so that {"id":"image1", "src":5, "x":0, "y":0, "w":20, "h":40} is enabled if option 901 is set, and {"id":"image1", "src":5, "x":0, "y":40, "w":20, "h":40} enabled if 902 set. Normal (not guarded) elements such as {"id":"background", "src":1, "x":0, "y":0, "w":1280, "h":720} are always enabled.

    "image":[
        {"id":"background", "src":1, "x":0, "y":0, "w":1280, "h":720},
        {"if":[901], "values":[
            {"id":"image1", "src":5, "x":0, "y":0, "w":20, "h":40}
        ]},
        {"if":[902], "values":[
            {"id":"image1", "src":5, "x":0, "y":40, "w":20, "h":40}
        ]},
    ],

Multiple options and negations are supported.

  • [901,902] means 901 && 902.
  • [[901,902], [903,904]] means (901 || 902) && (903 || 904).
  • [[901, -902]] means 901 || !902.

In addition to conditional elements in arrays, we also have conditional field definitions. ObjectSerializer interprets the following as "bga": {"id":"bga-1"} if 901, or "bga": {"id":"bga-2"} otherwise.

    "bga":[
        {"if": [901], "value": {
            "id":"bga-1"
        }},
        {"if": [], "value": {
            "id":"bga-2"
        }},
    ]

上で挙げた3つの考え方のうち、1が現実的と思い実装してみました。職人芸的な非常に複雑なスキンを作る必要がない限りはこれで事足りると思います(いろいろ試してみるつもりです)。2の方法は多分わかりにくくてイマイチです。3の方法は柔軟性が高いですが新規に実装する手間がかかります(どうしても必要になったら、いっそraindropのようなスクリプトによるスキンにするのが良いかもしれません)。

実装方法がややトリッキーなのと、細かい部分の挙動がこれでよいかどうかはわからないので、意見があればお願いします。微妙な問題点として、 if value values などのフィールドを持つクラスが対象となると解釈が曖昧になってしまうことがあります。( ArraySerializer のみ。また、今はそのようなクラスがないので大丈夫です。)

Can't load bms songs from large bms collection directory

Issue:
Can't load songs from BMS folder stored on external drive that contains 380GB of bms data. *External drive might not be issue of this problem since it loads smaller folders without any issue.

System Specs:
Computer: Macbook Pro 17-inch 2009 Late
CPU: 3,06 GHz Intel Core 2 Duo
GPU: NVIDIA GeForce 9600M GT 512 MB
RAM: 8 GB 1067 MHz DDR3
Internal storage: SSD Samsung Pro 480GB
OS: 10.11.6 OS X El Capitan
Native Resolution: 1920x1200
Beatoraja Resolution: 1280x720

External drive:
LaCie Rugged All-Terrain 500 GB FireWire 800/ FireWire 400/USB 2.0 Portable External HDD
Connected using: Firewire 800
Format: Mac OS Extended (Journaled)
Capacity: 500 GB
Size of BMS folder: 384,54 GB
Structure of BMS Folder: /BMS/bms events/bms songs/bms files

Reproducing issue:

  1. open BMS directory that contains all bms events, this loads.
  2. open bms event folder, beatoraja freeze up and instead of loading songs in it, it goes to initial select screen.

Log:

2017-02-25 20:11:53.640 java[87624:2123728] 20:11:53.640 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Controllers: added manager for application, 1 managers active
Feb 25, 2017 8:12:11 PM bms.player.beatoraja.skin.Skin prepare
INFO: 描画されないことが確定しているSkinObject削除 : 0 / 101
Feb 25, 2017 8:12:11 PM bms.player.beatoraja.MainController create
INFO: 初期化時間(ms) : 17747
Feb 25, 2017 8:12:28 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getFolderDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM folder WHERE parent = ? Parameters: [1f390a3b]
Feb 25, 2017 8:12:31 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getSongDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM song WHERE parent = ? Parameters: [1f390a3b]
Feb 25, 2017 8:12:34 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getFolderDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM folder WHERE parent = ? Parameters: [8178f7e9]
Feb 25, 2017 8:12:37 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getSongDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM song WHERE parent = ? Parameters: [8178f7e9]
Feb 25, 2017 8:12:40 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getFolderDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM folder WHERE parent = ? Parameters: [e2977170]
Feb 25, 2017 8:12:43 PM bms.player.beatoraja.song.SQLiteSongDatabaseAccessor getSongDatas
SEVERE: song.db更新時の例外:[SQLITE_BUSY]  The database file is locked (database is locked) Query: SELECT * FROM song WHERE parent = ? Parameters: [e2977170]
Feb 25, 2017 8:12:43 PM bms.player.beatoraja.select.BarRenderer updateBar
WARNING: 楽曲がありません
Feb 25, 2017 8:12:43 PM bms.player.beatoraja.select.BarRenderer updateBar
WARNING: 楽曲がありません

Practice Mode: multiple bugs at lower freqency play

Issues:

  • LongNotes are invisible during play
  • LongNotes are visible and become invisible after press
  • key animation become stuck after pressing LongNote
  • key become stuck after pressing LongNote making unable to register key press

also there is Grammatical error in Practice mode options:
Right now it is Freqency, it should be Frequency.

Autoplay misses in certain BMSes

Autoplay doesn't play some notes in certain BMSes.

Affected BMSes

  • Lots Of Spices[lots mineds]
  • Engine [EXPLODE]
  • L9999999999999^99999999999

Feature suggestion: "Next rank" pacemaker target

After checking out Beatoraja I'm extremely impressed with it and how close it is to being the perfect BMS player. I would find it very useful to have a feature for the pacemaker target to be the lowest rank I haven't yet achieved, for example:
My best score is B - pacemaker target is A
My best score is AAA - pacemaker target is MAX
etc.

issue with jkoc play

Using a JKOC + USB adapter, can get it to map fine but while playing if I press a key it gets translated to tt key action, and happens after the button is done being pressed (i.e: eventUp).. so basically every key gets echo'd to tt key and happens after the fact of pressing the key. btw, it seems to work on the 1st song, then while playing it the bug appears.

hope to hear soon in possible solution...

edit & update

so I did some random investigation and actually got it to work. the issue seems to be related to the x/y axis of the joystick which when used with a JKOC + USB Adapter. when a key is pressed on my JKOC besides the actual TT keycode I believe the x/y axis is modified as well, which creates a bug to make the TT activated from given code of how the axis is handled.. the fix for now is to simply go to your controller settings in Windows ("Set up USB Game Controllers" or some such) and click proper joystick. then click "Reset to Default", followed by "Properties". The "Z Axis" and "Z Rotation" rainbow graph needs to be 50%/50% otherwise it knocks the x/y axis off whilst playing beatoraja, and the only method I know to fix it is to randomly meddle with the settings in "Calibrate" till the Z Axis/rotation is 50/50%.

I might fix it later if i find enough time.. should be simple enough to perhaps implement a JKOC controller mode or a more transparent solution.

Change generic-6keys to use different lanes

Currently generic-6keys uses lanes 123456.
It would be far more suitable to use 123567 as this would create a symmetrical layout.
This would make it comfortable to play 6KEYS charts with a 7KEYS skin!

NullPointerException on openJDK when loading a song

Whenever I try to load a song in beatoraja instead of loading correctly it fades to a white screen, then throws this error, after which I have to kill the process:
'''
Exception in thread "LWJGL Application" java.lang.NullPointerException
at bms.player.beatoraja.play.BMSPlayer.create(Unknown Source)
at bms.player.beatoraja.MainController.changeState(Unknown Source)
at bms.player.beatoraja.decide.MusicDecide.render(Unknown Source)
at bms.player.beatoraja.MainController.render(Unknown Source)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
'''
OS: arch linux 64bit

beatoraja-config.command executable script for mac osx

beatoraja-config.bat can't be executed on osx. Why not include a unix script for convenience?
This is a script to access configuration dialog. I think this will work also for linux.

#!/bin/bash
cd "$(dirname "$0")"
exec java -Xms1g -Xmx4g -jar beatoraja.jar -c

Use 7key playskin to play 5key charts with disable lane cover.

There are so few 5key playskins and none of those are HD.
In LR2 there is function that let you use use 7key playskin to play 5key, by adding disable lane cover to the right two lanes.
This would be cool feature, because you can then use WMIX_HD or Endless Circulation skins to play 5key.

screen shot 2017-07-23 at 18 21 23

a problem with sound of long notes in BMSON

  • When playing a bmson, the sound of a LN is cut off at its end (of LN) although it should continue. This problem doesn't occur in an ordinary bms.

  • bmsonプレイ時に、LNの音が(LNより長いにもかかわらず)LN終端で途切れてしまいます。この問題は通常のbmsでは起こらないようです。

Can not use ASIO

ASIO can not be used in this environment.
I guess that it does not correspond to ASIO2.0 Driver.

(ASIOが当環境にて使用することが出来ません。)
(ASIO2.0に対応していないのではないかと推測します。)

OS : Windows10 Pro x64
CPU : i7-4790
RAM : 24GB
Graphics : GTX 1050ti
Sound : STRIX RAID PRO

Custom resolution

I'd like to request support for any custom resolution (x,y) or perhaps at least upscaled 4:3 for compatability with SD LR2 skins.

Thank you.

キーボードとコントローラーの同時入力が出来ない

Konami公式のIIDX専コン(プレミアムコントローラー)の場合、スクラッチが少し特殊(INFINITASの仕様に合わせられている)なので、スクラッチ操作をキーボードのLshiftとLctrlにコンバートして使用しないとまともにプレイできないのですが(lr2ではそのようにプレイしていました)
どうやらbeatorajaでは曲開始時に使った機器しかプレイ中は認識しないようで(コントローラーで開始すればコントローラー、キーボードで開始すればキーボードだけ)、特殊な環境の場合プレイできないようです。

Load default sprite from .lr2skin file instead by alphabetical order.

It seems beatoraja load sprites in alphabetical order. But in case LR2 skins, It should determine what is default sprite to load.

For example beatoraja loads budweiser.png but it should be default.png because its as default in lr2skin file.

#CUSTOMFILE,LANECOVER,.\LR2files\Theme\WMIX_HD\play\parts\lanecover\ac\*.png,default

Duplicate class files

I discoverd something odd about the beatoraja jar.
If you open the jar and go to the package: com.fasterxml.jackson and all subpackages you'll notice that every class file occurs twice.
Image of the directory listing
I guess it's not a huge problem, but I am surprised that it's possible to create a jar with files with the same name in the same directory. It also makes the jar bigger.

The issue probably comes from two dependencies with the same classes. jbmstable-parser.jar and jbms-parser.jar maybe?

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.