derenotes.libs.notes.song module¶
デレステ譜面ファイルを扱うモジュール。
- exception SONGError(*args)¶
ベースクラス:
Exceptionsongのエラーハンドラ
- パラメータ:
args (object)
- 戻り値の型:
None
- class SongType(*values)¶
ベースクラス:
StrEnumデレステ楽曲タイプの列挙クラス。
- ALL = 'ALL'¶
- CUTE = 'CUTE'¶
- COOL = 'COOL'¶
- PASSION = 'PASSION'¶
- class SongCategory(*values)¶
ベースクラス:
StrEnumデレステ楽曲カテゴリの列挙クラス。
- WIDE_DEBUT = 'WIDE:DEBUT'¶
- WIDE_REGULAR = 'WIDE:REGULAR'¶
- WIDE_PRO = 'WIDE:PRO'¶
- WIDE_MASTER = 'WIDE:MASTER'¶
- WIDE_MASTER_PLUS = 'WIDE:MASTER+'¶
- WITCH_WITCH = 'WITCH:WITCH'¶
- SMART_LIGHT = 'SMART:LIGHT'¶
- SMART_TRICK = 'SMART:TRICK'¶
- GRAND_PIANO = 'GRAND:PIANO'¶
- GRAND_FORTE = 'GRAND:FORTE'¶
- class NoteType(*values)¶
ベースクラス:
StrEnumノートタイプの列挙クラス。
- START = 'START'¶
- END = 'END'¶
- TAP = 'TAP'¶
- FLICK_LEFT = 'FLICK:LEFT'¶
- FLICK_RIGHT = 'FLICK:RIGHT'¶
- LONG_ON = 'LONG:ON'¶
- LONG_OFF = 'LONG:OFF'¶
- LONG_FLICK_LEFT = 'LONG:FLICK:LEFT'¶
- LONG_FLICK_RIGHT = 'LONG:FLICK:RIGHT'¶
- SLIDE_ON = 'SLIDE:ON'¶
- SLIDE_PASS = 'SLIDE:PASS'¶
- SLIDE_OFF = 'SLIDE:OFF'¶
- SLIDE_FLICK_LEFT = 'SLIDE:FLICK:LEFT'¶
- SLIDE_FLICK_RIGHT = 'SLIDE:FLICK:RIGHT'¶
- DAMAGE = 'DAMAGE'¶
- class Song(name='未設定', category=SongCategory.WIDE_MASTER, type=SongType.ALL, level=1)¶
ベースクラス:
objectデレステ楽曲情報のデータクラス。
- パラメータ:
name (str) -- タイトル
category (SongCategory) -- デレステ楽曲カテゴリ
type (SongType) -- デレステ楽曲タイプ
level (int) -- レベル
- name: str = '未設定'¶
- category: SongCategory = 'WIDE:MASTER'¶
- level: int = 1¶
- class Note(timestamp=0, lane=1, width=1, type=NoteType.TAP, time_base=Fraction(1, 1))¶
ベースクラス:
objectノートのデータクラス。
- パラメータ:
timestamp (int) -- time_base単位のタイムスタンプ
lane (int) -- 左端から数えたレーン番号。
width (int) -- レーン幅
type (NoteType) -- ノートタイプ
time_base (Fraction) -- 単位時間(秒)
- timestamp: int = 0¶
- lane: int = 1¶
- width: int = 1¶
- time_base: Fraction = Fraction(1, 1)¶
- NoteLink¶
- ノート(ロング、スライド)の始点・節点・終点を保持する
deque。 ロング: LONG_ON, LONG_OFF, LONG_FLICK_LEFT, LONG_FLICK_RIGHT
スライド: SLIDE_ON, SLIDE_PASS, SLIDE_OFF, SLIDE_FLICK_LEFT, SLIDE_FLICK_RIGHT
- ノート(ロング、スライド)の始点・節点・終点を保持する
- class Chart¶
ベースクラス:
objectデレステ譜面データを扱うクラス。
- Todo:
self._notelink でロング・スライドのノートのつながりを扱う。
- Todo:
self._notes グランドの複数レーンに跨るノートを扱う。
- property videofile: str¶
デレステ動画ファイルのパス名。
- property last_index: int | None¶
デレステ譜面ファイル保存時の画面フレームのインデックス。
- property total_notes: int¶
Noteの全数。
- current_notes(timestamp)¶
timestamp直前までのNoteを数える。- パラメータ:
timestamp (int) -- タイムスタンプ
- 戻り値:
Noteの数- 戻り値の型:
int
- search_within_range(min_timestamp, max_timestamp)¶
timestamp範囲内のNoteのリストを得る。- パラメータ:
min_timestamp (int) -- タイムスタンプ範囲の下限
max_timestamp (int) -- タイムスタンプ範囲の上限
- 戻り値:
Noteのリスト- 戻り値の型:
Iterator[Note]
- find(timestamp)¶
timestampのNoteのリストを得る。- パラメータ:
timestamp (int) -- タイムスタンプ
- 戻り値:
Noteのリスト- 戻り値の型:
Iterator[Note]
- save(path=None)¶
デレステ譜面ファイルを保存する。
- パラメータ:
path (Path|None) -- デレステ譜面ファイルのパスオブジェクト
- 例外:
SONGError -- ファイルが見つからない、または保存できない場合
- 戻り値の型:
None
- load(path)¶
デレステ譜面ファイルを読み込む。
- パラメータ:
path (Path) -- デレステ譜面ファイルのパスオブジェクト
- 戻り値の型:
None