堕天使の煉獄
2013-09
09
01:39:14
なんかあっという間に日にちが……
ちょっとまたプログラムのほうやるかなーって
気がついたら2週間ぐらい経ってるしw
最初の一週は、QTでのMIDIシーケンサ作り。
んんーやっぱ相変わらず、ずっと前から悩んでいるところで詰まる。
上のはトラックの中身のMIDIデータの生データを
グリッドコントロールに流し込んだだけの物。
んで、こっちは多少データに加工した形での表示。
うむう。
結局のところ、どういう形でMIDIデータを持つのが良いのか
未だに決まりかねているぽ。
でも悩んでばかりいても仕様がないので
とりあえずどんな形でもいいから進めてみて
そこから見えてくる問題点を洗い出してみようってことで
行く先も定まらぬまま進めてみたのだけども。
ふむう。
ますます悩む結果に。
んー
MIDIイベントのコントロールチェンジを例に取ると
生データではステータスバイトがコントロールチェンジであることを示し
中身はコントロールチェンジ番号とパラメータが入っているのですが。
そして基本、普通のノートイベント(音符)とかも
基本おんなじ形態のデータなのですよね。
ステータスバイトの違いで見分けるかんじで。
(面倒なのがイベントによってデータ量が固定ではない可変バイトのイベントもある・・・)
しかし、イベント一個取り出す度に、このステータスバイトは・・・
と調べるのもめんどくさい。
オブジェクト指向的には
MIDIイベントクラスという、単体のイベントを表す基底クラスを作って
派生でノートイベントとか各種コントロールイベントとか
やったりする方法が浮ぶのだけども。
しかしMIDIデータってこのイベントがウン百とかあるのですよね。
1トラックに。
それが通常の使い方だと16トラックあるわけで。
そんだけの数のオブジェクトをnewとdeleteするのは
かなりのコストがかかるぽ。
速度と扱いやすさ。
それから編集のしやすさと、いろんな要因が絡んで
最終的にどういうデータ構造にするのが良いのか。
ますます頭がこんがらがってくるぅ~
なんていうか、
そもそも、もともとのMIDIの形態にこだわるからいけないような気がしてたり。
MIDIフォーマットっていうのが
むかしの低速な秒間数バイトしか通信できなかった時代のフォーマットなので
ものすごく効率重視で、生データのままではとても扱いにくい形なのですよね。
しかし、一般的な音楽ソフトではスタンダードな形式なので
入出力出来るのが望ましい。
なのでついつい、それに倣ったデータ構造にしてしまいがちなのですが
いっそ、かなりがらっとかえて、もっと独自のデータ構造につくり変えるべきかなとか。
基本的には、とある基準による時間軸毎に
イベントをMIDIデバイスに決まったフォーマットに整形して送信する。
その要件さえ満たせば良いわけですから。
その辺で発想の飛躍が必要だな……ということで
また塩漬けにすることにw
んで次の一週はゲームプログラミング。
また1から組み直し中(何度目だろう…
今度はゲームのエンジンというかフレーム部分を
LIB形式で書き出せる形の物をつくってみようかなと。
なので、後から弄る必要のある部分と
弄る必要のないもの(こっちはlib形式で固める)
一部だけ弄る必要があるものはそこだけオーバーライド出来る様にする。
とか、根本的に設計からやり直してる感じです。
今のトコ
DirectXの初期化
シーン管理
フォント
システム効果音
キー入力(コンフィグ付き
といった基本的なところはほとんど出来て
汎用的なボタンとかのGUI部品てきなものを作ってたりしたところで
ちょっとプログラムも食傷気味になってきたなー。
と思ったのが今日。
んで、ふり返ったらもうプログラミング週間が
2週間もつづいてたのかとびっくり。
ということで、設計メインだったこともあり
偏頭痛とか出だしたのでちょっと別のことやろうかなと。
気がついたら2週間ぐらい経ってるしw
最初の一週は、QTでのMIDIシーケンサ作り。
んんーやっぱ相変わらず、ずっと前から悩んでいるところで詰まる。
上のはトラックの中身のMIDIデータの生データを
グリッドコントロールに流し込んだだけの物。
んで、こっちは多少データに加工した形での表示。
うむう。
結局のところ、どういう形でMIDIデータを持つのが良いのか
未だに決まりかねているぽ。
でも悩んでばかりいても仕様がないので
とりあえずどんな形でもいいから進めてみて
そこから見えてくる問題点を洗い出してみようってことで
行く先も定まらぬまま進めてみたのだけども。
ふむう。
ますます悩む結果に。
んー
MIDIイベントのコントロールチェンジを例に取ると
生データではステータスバイトがコントロールチェンジであることを示し
中身はコントロールチェンジ番号とパラメータが入っているのですが。
そして基本、普通のノートイベント(音符)とかも
基本おんなじ形態のデータなのですよね。
ステータスバイトの違いで見分けるかんじで。
(面倒なのがイベントによってデータ量が固定ではない可変バイトのイベントもある・・・)
しかし、イベント一個取り出す度に、このステータスバイトは・・・
と調べるのもめんどくさい。
オブジェクト指向的には
MIDIイベントクラスという、単体のイベントを表す基底クラスを作って
派生でノートイベントとか各種コントロールイベントとか
やったりする方法が浮ぶのだけども。
しかしMIDIデータってこのイベントがウン百とかあるのですよね。
1トラックに。
それが通常の使い方だと16トラックあるわけで。
そんだけの数のオブジェクトをnewとdeleteするのは
かなりのコストがかかるぽ。
速度と扱いやすさ。
それから編集のしやすさと、いろんな要因が絡んで
最終的にどういうデータ構造にするのが良いのか。
ますます頭がこんがらがってくるぅ~
なんていうか、
そもそも、もともとのMIDIの形態にこだわるからいけないような気がしてたり。
MIDIフォーマットっていうのが
むかしの低速な秒間数バイトしか通信できなかった時代のフォーマットなので
ものすごく効率重視で、生データのままではとても扱いにくい形なのですよね。
しかし、一般的な音楽ソフトではスタンダードな形式なので
入出力出来るのが望ましい。
なのでついつい、それに倣ったデータ構造にしてしまいがちなのですが
いっそ、かなりがらっとかえて、もっと独自のデータ構造につくり変えるべきかなとか。
基本的には、とある基準による時間軸毎に
イベントをMIDIデバイスに決まったフォーマットに整形して送信する。
その要件さえ満たせば良いわけですから。
その辺で発想の飛躍が必要だな……ということで
また塩漬けにすることにw
んで次の一週はゲームプログラミング。
また1から組み直し中(何度目だろう…
今度はゲームのエンジンというかフレーム部分を
LIB形式で書き出せる形の物をつくってみようかなと。
なので、後から弄る必要のある部分と
弄る必要のないもの(こっちはlib形式で固める)
一部だけ弄る必要があるものはそこだけオーバーライド出来る様にする。
とか、根本的に設計からやり直してる感じです。
今のトコ
DirectXの初期化
シーン管理
フォント
システム効果音
キー入力(コンフィグ付き
といった基本的なところはほとんど出来て
汎用的なボタンとかのGUI部品てきなものを作ってたりしたところで
ちょっとプログラムも食傷気味になってきたなー。
と思ったのが今日。
んで、ふり返ったらもうプログラミング週間が
2週間もつづいてたのかとびっくり。
ということで、設計メインだったこともあり
偏頭痛とか出だしたのでちょっと別のことやろうかなと。
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
02
03
04
05
06
07
08
09
■
■
なんかあっという間に日にちが……
10
11
12
13
14
■
■
いろいろつらつらと
15
16
[敬老の日]
17
18
19
20
21
22
■
■
うへぇ……
23
[秋分の日]
24
25
26
27
28
29
30
total:2081262 t:22 y:214
■記事タイトル■
■年度別リスト■
2024年
2024年12月(0)2024年11月(0)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年
2023年12月(3)2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年
2022年12月(4)2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年
2021年12月(8)2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年
2020年12月(3)2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年
2019年12月(1)2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年
2018年12月(1)2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年
2017年12月(2)2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年
2016年12月(7)2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年
2015年12月(7)2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年
2014年12月(12)2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年
2013年12月(15)2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)
■レス履歴■
■ファイル抽出■
■ワード検索■
堕天使の煉獄
https://rengoku.sakura.ne.jp
管理人
織田霧さくら(oda-x)
E-mail (■を@に)
oda-x■rengoku.sakura.ne.jp