-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ピッチ編集機能を追加 #2003
ピッチ編集機能を追加 #2003
Conversation
const originalPitchLineColor = new Color(177, 201, 181, 255); | ||
const originalPitchLineWidth = 1.2; | ||
const pitchEditLineColor = new Color(146, 214, 154, 255); | ||
const pitchEditLineWidth = 2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ノートの色とピッチラインの色、色々試しましたが良い組み合わせが見つかりませんでした…
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
一旦UIに関してのコメントです!!
一言で言うと良さそうに思いました!!細かい部分について確認とメモを兼ねたコメントです。
- ピッチ編集時はノート選択できない感を出すためにマウスカーソルをペンか鉛筆に変更するといいかも
- ピッチ編集モードの時は、ノートの色を完全にグレーアウトしてあげても良さそう
- 選択不可能だということを完全にわかるようにするため
- ピッチ編集結果ってトラックのグローバル情報としてデータ持つんですね!!
- 既存ソフト見に行ったらそうなっててめちゃくちゃ驚きました
- UX的にはたぶんノートに連動させる形が良さそう感がなきにしもあらずだけど、一旦この仕様で・・・!
- ピッチが急峻に変化したときの出音がノイジーに聞こえるかも?
- ↑と同じような理由でなだらかなピッチであってもノイジーに聞こえることもある
個人的には1のカーソル変更だけこのプルリクエストでもできそうならやっちゃって、他は後回しでも良いのかなと思ってます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
とりあえずコード見る限り。
マイグレーション処理大丈夫そうです?
保存・読み込みとundo/redoはまだ実装できてないです! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レビューしました!!
データ構造・設計・UI含め大枠良さそうに思いました!!
鉛筆マーク可愛くていいですね!!
消しゴムマークもあると楽しそうかもと思いました。(のちのちでも良さそう)
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ほぼLGTMです!!
あとAsnycTaskRunnerのとこだけかなと!!
実際使ってみてもだいぶ良い感じだなと思いました、もろもろの調整ありがとうございます!!
ピッチ編集が無声部分を特殊な扱いするの、とても良いのですがそういう仕様なことを忘れそうですね。。
覚えてたら使い方に書いとこうと思います!
あ、これは全然関係ないのですが。
ScoreSequencer.vue
がかなり巨大化してきた印象です。ちょっと経験が浅くてわからないのですが、メンテ不能に陥るリスクが生じ始めている気がします。
解体の機運が高まっているのですが、この辺切り崩せそうと直感がある部分ってあったりされますか・・・?
とりあえずissueを作ろうかと思っていて、そのためにはある程度見通しがあると嬉しいのでお聞きした次第です!
レンダリング周りはWebGL化するときに抜本的に変わる可能性があるのでさておき、例えばダブルクリック判定部分とかは外に出せそうな気がしています。
.cursor-draw { | ||
cursor: | ||
url("/draw-cursor.png") 2 30, | ||
auto; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
消してるときは消しゴムマークにしても良いかも。
(もちろん後回しでも!)
:class="{ 'rect-selecting': shiftKey }" | ||
:class="{ | ||
'rect-selecting': editTarget === 'NOTE' && shiftKey, | ||
'cursor-draw': editTarget === 'PITCH' && !ctrlKey, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
とても細かいけど、スクロールバー上にあるときもカーソルがeditになってるのは違和感あるかもでした!
(解決できるんだろうか・・・。)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レイヤーが整理できていないので、一旦整理してイベントを受け取るレイヤーを作った後に、こちら行った方が良いかもです。
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
テストが落ちてますね。。。。。。。なんでだろう。。。。処理が重くなった・・・? 追記:3日前にmacosのGithub Actions環境が変わったっぽみでした!! |
テストが落ちる件に関しては今のmainブランチをマージすれば大丈夫だと思います! |
元のピッチの色、少し暗いと感じたので、彩度を12から15に変更しました! |
@Hiroshiba |
マージします!! |
以下を考えています! @Hiroshiba DOM
処理
|
@sigprogramming 詳しくありがとうございます!!! すみません、お手数おかけしてしまうのですがそちらの内容でissue作成をお願いしても良いでしょうか 🙇 お時間なかったらコピペになってしまいますがこちらで作ってしまおうと思います!! |
* ピッチ編集機能を追加 * 修正 * 色を調整、UIを修正 * ペンの画像を追加、ピッチ編集時のカーソルをペンに変更 * TODOコメントを追加 * ピッチ編集をundo/redoできるようにした * 有声区間のみピッチ編集を適用するように変更 * ピッチ編集データを平滑化してからセットするようにした * Update src/components/Dialog/SettingDialog.vue Co-authored-by: Hiroshiba <hihokaruta@gmail.com> * Update src/components/Sing/ScoreSequencer.vue Co-authored-by: Hiroshiba <hihokaruta@gmail.com> * 例外を使用して網羅性チェックを行うようにした * pitchEdit.dataのところにコメントを追加、データが無いことを表す値を定数で定義 * prevCursorFrameとprevCursorFrequencyをまとめてprevCursorPosに変更、コメントを追加 * 修正 * ピッチ編集機能が無効になったときに行う処理をSingEditorに移動 * 1フレームのピッチ変更を適用しない理由をコメントで説明 * 編集モードの判定をcomputed内で行うようにした * プレビュー時に実行される関数の処理を説明するコメントを追加 * コメントを追加 * EditModeをEditTargetに変更 * DataSectionのハッシュの型をブランド型にした * データ区間のマップを更新する関数の処理を説明するコメントを追加、コメントを修正 * フレームレート周りを一旦変更 * Colorクラスの値の範囲をコメントで書いた * FramewiseDataSectionに変更 * watchのimmediateをtrueに設定 * データ区間のマップを生成する処理を関数に切り出した * concatからpushに変更、spliceを使用してデータを書き換える形に変更 * SET_PITCH_EDIT_DATAのところにコメントを追加 * ピッチ編集を適用する処理のところにコメントを追加 * 修正 * DataSectionMapの更新処理が開始順で完了せずピッチの表示が更新されないことがある不具合を修正 * 修正 * Revert "concatからpushに変更、spliceを使用してデータを書き換える形に変更" This reverts commit a0c3260. * ExhaustiveErrorを移動 * NOTEコメントを追加 * 修正 * structuredCloneを使用してディープコピーするようにした * asyncProcessで例外が発生したときにisRunningとisRunRequestedがfalseにならないのを修正 * 非同期処理の実行部分を変更 * AsyncLockを使用する形にした * DEPRECATEDにしてコメントを追加 * CLEAR_PITCH_EDIT_DATAを削除 * 縦方向のズームの下限を調整 * Update src/type/utility.ts Co-authored-by: Hiroshiba <hihokaruta@gmail.com> * Update src/sing/utility.ts Co-authored-by: Hiroshiba <hihokaruta@gmail.com> * 元のピッチの色の彩度を12から15にした * concatからpushに変更、spliceを使用してデータを書き換える形に変更 * macでピッチの消去ができるように修正 * to mouseButton --------- Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
issue作成します! |
内容
以下を行います。
SequencerPitch
の処理を変更以下は未実装です。
ピッチ編集のundo/redo(実装しました)関連 Issue
close #1941
スクリーンショット・動画など
その他
frameRate
をどこで持つかで悩んでいます