suzukiplan / vgs2 Goto Github PK
View Code? Open in Web Editor NEWSUZUKI PLAN - Video Game System mk-II SR
Home Page: http://game.wiki.nicovideo.jp/indie/SUZUKIPLAN-VideoGameSystemmk-IIGameDaddy%EF%BC%88VGS%EF%BC%89
License: Other
SUZUKI PLAN - Video Game System mk-II SR
Home Page: http://game.wiki.nicovideo.jp/indie/SUZUKIPLAN-VideoGameSystemmk-IIGameDaddy%EF%BC%88VGS%EF%BC%89
License: Other
vgs2i.cのinit_openAL関数内で呼び出しているalcOpenDeviceでクラッシュします。
https://github.com/suzukiplan/vgs2/blob/master/template/vgs2i.c#L184
この問題はiOS7.x以前では発生せず、iOS8でのみ発生します。
正直どのように対策したものかと迷っています。
たぶん、iOS8のバグ(デグレード不良)だと思います。
本件の対策(回避策)についてPull Request募集中です。
この問題は初代VGSでも同様に発生します。
この問題を解決次第、SUZUKI PLAN製iPhoneアプリに修正をマージしてアプリをアップデートする予定です。
【この問題に該当するアプリ】
現状のBGMデコーダとMMLコンパイラの実装を vgs-bgm-decoder と vgs-mml-compiler に置き換える。
なお、これらのリポジトリは git submodule で引用するのでインストール手順が若干変わります
あと、ダイレクトに _PSG
構造体を参照していたアプリは修正が必要になります
現状, vgs2_eff
で raw PCM 形式の効果音を再生する機能があるが, そうではなく, もっとプログラマブルな形で効果音を鳴らす API が欲しい。
以下のパラメラを引数で渡す感じで。
多分、以下のパターンだけでも結構それっぽくなると思う。
シンプルにしたい。
チャネルの概念を入れれば複数の効果音を同時再生できるけど、同時再生は無くて良いかも。
スロット番号が若い方が優先度が高い。
という要求仕様を満たすには以下のような感じで良いんじゃないだろうか。
折角Mac OS X対応したので、VGSプロジェクトの内容をiOSポーティングするコマンドみたいなものを作りたい。(以下のような感じのものを想定)
$ vgs2iport VGS-project-dir iOS-project-dir
今のところ q(終了)のみですが、いろいろと拡充したい。
とりあず、思いついたものを書いてみる。
Command : j { sec | min:sec }
で指定した再生時間にジャンプ。
$ vgs2play bgm-file [time]
みたいな感じで初期値のオプション指定も欲しいかも。
Command : k+ 数字
Command : k- 数字
特に実用性はないかもしれないが楽しそう。
(VGSに移調APIがあるので割と簡単に作れる)
Command : mチャネル { on | off }
特定パートのみチェックしたい時とかに使いたい。
Command : p
基本ですね。
Command : r
BGMファイル自体を読み直し、ミュートや移調の設定をクリアする。
割と重要(作業時)
という訳で、iOS, Mac OS X, Linuxのsound_threadの実装を一本化しておきたい。
VGSのMMLデータ+metaデータからvgspack (正式名称は若干長いですが, SUZUKI PLAN - Video Game System / BGM package format ) を生成するコマンドを提供する。
東方BGM on VGS を iOS から Mac OS X へ単純移植したところリジェクトされてしまうという案件が発生した(詳細はこちらで詳述)。
本件指摘の対応策として、汎用的なVGSのBGMプレイヤーを提供しようと考えている。
その際, https://github.com/suzukiplan/Touhou-VGS-MML-data からインポートできる形式のデータを生成して、そいつを Dropbox なり ローカルファイル 経由でアプリへ喰わせれば良い感じにしたいと思っている。
1曲ごとに以下の情報を付与する。
https://github.com/suzukiplan/Touhou-VGS-MML-data から東方BGM on VGSのmeta dataを自動的に出力するツール。(これは vgs2 リポジトリ ではなく Touhou-VGS-MML-data リポジトリ に突っ込んでおき、ワンコマンドで東方BGM on VGSの vgspack を出力できる状態にしておく)
・MMLファイルをダイレクトに演奏できるようにする
・vgsファイルの演奏に対応する
ボリュームを動的に調整する機能を追加する
なお、マスターボリュームは MML の Mオペランド とは別概念が良いんじゃないかなと思う。
パーセンテージ指定とか。
BGMファイルをwavファイルへ変換して保存するコマンドが欲しい。
動画のBGM素材として使いたい時とかに役立ちそうなので。
ザックリと以下のような感じを想定
vgs2rec [{-t play-time | -l loop-time}] [-s sampling-rate] bgm-file
-t play-time
: 演奏時間-l loop-time
: ループ回数 (1以上)-s sampling-rate
: サンプリング周波数bgm-file
: 変換対象のBGMファイルA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.