kuma4649 / mucomdotnet Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
古代さんより指摘。
未調査。
I tried WAV output, but it doesn't work. The same goes for VGM.
Looking at the source, I don't think VGM has been implemented.
Hasn't it been implemented yet?
Is WAV not implemented yet too?
モバイルやブラウザなど、ファイルシステムに自由にファイルの読み書きができない環境があるので、ファイルを前提にデーターの読み書きをする構造だとそのような環境で動かすことが難しくなります。
こういうケースは Stream クラスで読み書きを抽象化するのが定石だと思うので、そのような形にしていただきたいのです。
MUCOM の場合、 MML 内に記述した追加ファイルの読み込みがあるので、その辺りを考慮して疑似コードで定義案を作成しました。そちらも見ていただければと思います。
https://gist.github.com/aosoft/3c6461e827aed52057abcb1d2198c43b
古代さんより>
AMC/AMDと同じようにポルタメントを1オクターブ以上行えるようにしたい
対応したところバグ発生。
既存のデータを少しでも互換性が高い状態で再生させたいため。
Sコマンドの4つのパラメータの範囲を8bit(0~255)から16bit(-32768~32767)に拡張すると使い勝手が良くなりそう。
・拡張した場合の懸念点:コマンドサイズの肥大化、互換性の喪失
・その他:オリジナルのMUCOM88では、音長が128クロックを超えるとSコマンドの値が他のトラックのディチューン値に影響を与えるバグが存在する
public void Init(string fileName, Action<ChipDatum> chipWriteRegister, Action<long, int> chipWaitSend, MmlDatum[] srcBuf, object addtionalOption) の
{
// 略
pcm = GetPCMFromSrcBuf();
if (pcm == null) GetPCMDataFromFile();
上記 2 行をコメントアウトして pcm = null の状態にし、 PCM 使用曲を読み込ませると例外で落ちます。
static な Log.writeMethod にセットしているので、 Compiler や Driver のインスタンスを同時に使用している場合に問題を起こす可能性があります。
Log.writeMethod はアクセスに制限がないので、
のどちらかにすべきと思います。
msg クラスのクラスコンストラクタで固定的にメッセージが読み込まれるためアプリから読み込み処理を制御できません。
この処理で期待される配置にメッセージリソースが置けるとは限らないので読み込みは自前で行いたい。
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.