やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PySDL2でCheckButtonを表示する

sdl2.ext.UIFactory(sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)).from_color(sdl2.ext.BUTTON, color=sdl2.ext.Color(0,0,0), size=(100,50))

PySDL2でButtonを表示する

sdl2.ext.UIFactory(sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)).from_color(sdl2.ext.BUTTON, color=sdl2.ext.Color(0,0,0), size=(100,50))

PySDL2で日本語を描画する

フォントを指定したテキスト描画。

PySDL2におけるWorld

将来的にさまざまなイベントキャッチできるであろう。

PySDL2におけるメインループ

将来的にさまざまなイベントキャッチできるであろう。

PySDL2におけるHelloWorld

ウインドウと画像の表示ができた。

PySDL2の資料まとめ

日本語資料が少ない。pythonでゲーム作成といえば旧ライブラリのPyGameばかり……。

PySDL2をインストールした

PyGameの後継機。

SDL2をインストールした

PySDL2を使うまでの準備1。

PySDL2を使ってみたい

PyGameでは日本語入力できない。PySDL2を試してみよう。

一般的な音階の音程を定義した。音名の取得でエラーになる

メジャースケールは長音階。

音階の和名を得る

メジャースケールは長音階。

ScaleIntervalsクラスをenum型に修正した

それに伴いScaleクラスを修正した。

Scaleクラス修正に伴い純正律クラスの修正をした

D Major Scaleの構成音はD, E, F#, G, A, B, C#。

音階と音度から音名を取得する

D Major Scaleの構成音はD, E, F#, G, A, B, C#。

ScaleKeyクラスをScaleの内部クラスとして作り変えた

ScaleKeyクラス単独では使わない。使えない。テストもScaleクラスのテスト1つに統合した。

ScaleKeyクラスを作った

音階の調を表すクラス。

音階と音度からピッチクラスを取得する

CMajorScaleの1度はC音である。

純正律で周波数を算出する

固定比で12音を算出できた。

12平均律の基音クラスを弱参照するよう修正した

エラーメッセージをピタゴラス音律クラスと統一した。

ピタゴラス音律で周波数を取得する

ピッチクラスとオクターブクラスを渡して。

12平均律で周波数を取得する

ピッチクラスとオクターブクラスを渡して。

基音を設定、取得するクラスを作った

音律クラスで周波数を算出するために使う予定。

絶対オクターブ値(国際式,YAMAHA式)から相対オクターブ値(0〜10)を取得する

オクターブの表現を内部で統一する。

Pythonで共通の任意な親クラス、関数、変数名を持った、別名定義クラスをDRYに書きたい。(クラスインスタンスでなくクラスオブジェクト)

タイトルが伝わりにくい。試行錯誤しまくったログ。

音名を各国の表記で取得する

C#→嬰ハのように取得する。再代入禁止のdict, OrderedDictも作成した。

変化記号を各国の表記で取得する

#→嬰のように取得する。

MIDIノート名からMIDIノート番号を取得する

A#4→70のように変換する。

ピッチクラスとオクターブからMIDIノート番号を取得する

(0, 2)→(0+(2*12))→24など。

音名から半音数(ピッチクラス)を取得する

C#→1。