[
新規
] - [
ツリー
] - [
スレッド
] - [
未解決
] [
緊急
] [
優先
] - [
検索
] [
RSS
] - [
サクラTOP
]
「サクラ」質問掲示板
サクラの質問掲示板です。
→
書き込み(
#187
)を編集する:
名前
タイトル
本文
凪といいます。遅ればせながら正攻法での解です。、 //------- Function GetTime{ Int CT=Time; Array TT=(); TT(0) = (Time(3:1:0)-Time(2:1:0)) / (Time(2:2:0)-Time(2:1:0)); TT(1) = TimeBase*4 / ((Time(3:1:0)-Time(2:1:0)) / TT(0)); RESULT=TT; Time(CT); //Time書きもどし } //Func System.MeasureShift=0 TimeBase=98 TimeSignature=(15,7) l7 ccccc ccccc ccccc //TimeSignature=(15,8) //l8 ccccc ccccc ccccc Print(GetTime()); PrintTime; //------ Twitter / sparkkamakiri様 10月1日より、この解へ至る方法論を提示されていたので、 これを元に一部改編しました。、本職のひとは一味ちがうな、、と思います。 変更点... System.MeasureShiftへ対応しました。 分母数を出力してます。 Twitterアカウントの持ちあわせはなく連絡不可のため、またメールの要件ほどでもないと判断しまして、こちらに直接記入する運びとなりましたが、sparkkamakiri様に於いては、事後承諾ということでよろしいでしょうか?、、 問題があれば、修正するなり、取り下げるなど迅速にいたします。 それと確認していて、気になった点がありました、出力値と表示が一致しない点です。 [4,8,16]などの通常の数字では、演奏モニターへの出力と、PrintTimeの出力は一致しますが、、 それ以外の[12]などの分母数字は、何故か切り上げているみたいです。 つまり、5/12のような拍子であれば、演奏モニターは、5/16での時間表示になってずれます。 ただし、PrintTime側ではあってます、、表示がうまくいっていない気がします。 参考として、15/7は、15/8での時間表示になっていました。 それと、これは蛇足かもしれませんが...過去の質問掲示板でも変拍子の件で話題に上がっていたようなので、、 TimeSignature命令の、扱いの難しさの仕組みを解いてみました。 http://oto.chu.jp/cgi/sakura-q/cbbs.cgi?mode=al2&namber=13232&rev=&no=0 http://oto.chu.jp/cgi/sakura-q/srch.cgi?no=0&word=%95%CF%94%8F%8Eq&andor=and&logs=all&KYO=1&PAGE=20 TimeSignature命令によって変更される時間表示は、単純に現在のタイム値から、割り出しているようなので、 もしTimeSignatureが上書きされると、記述されたポイントから合算するのではなく、 最初から全て計算し直しするので、見慣れない数値が表示され、混乱に陥るのではないかと考えています。 TimeBase=96として、3/4拍子の場合、Track(0);Time(2:1:0);//=288(PrintTime) 拍子を、12/8拍子で書き換えた瞬間、Track(0);Time(1:7:0);//=288(PrintTime) //------- TimeBase=96; TimeSignature=(3,4) l4 ccc PrintTime; //Time値 288 -> Time(2:1:0); TimeSignature=(12,8); PrintTime; //Time値は同じ 288 ->Time(1:7:0); l8 cccc cccc cccc //------- タイム値を加算しない状態として、このポイントで拍子だけを変更すると、 単純に現在の小節表示が変更され、l4ccc -> l8ccc ccc 分移動したTime(1:7:0);という表示に変化します。
優先度
低
中
高
緊急
状態
未処理
調査中
修正中
確認待ち
解決
---
アイデア
感想
告知
確認キー
👆お手数ですが、いたずら防止のために、「真夏」の読み方を平仮名で記入してください。
編集キー
編集時に使うキーを入力(省略可能)
添付ファイル
🎁
ファイルを選択...
画像ファイル(最大300KB)を添付可能