Skip to content
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

ソング:歌詞未入力のノートを移動したときにデフォルト歌詞が変わるようにする #2586

Open
sigprogramming opened this issue Mar 2, 2025 · 2 comments

Comments

@sigprogramming
Copy link
Contributor

sigprogramming commented Mar 2, 2025

内容

打ち込んだ直後(歌詞が未入力)のノートはデフォルト歌詞(ドレミ)が入っていますが、ノートの移動(上下)でドレミが変化しないので、レのところがドになる、ということが起こります。
これは混乱するので、歌詞が未入力の場合はノートの移動でドレミが変化するようにした方が良さそうです。

Pros 良くなる点

  • レのところの歌詞がドになる、ということが起こらなくなる

Cons 悪くなる点

  • 状態が増え、複雑になる

実現方法

歌詞が未入力かどうかのフラグをノートに持たせることで、未入力の場合にノートの上下移動でドレミを変化させるということが可能になると思います。

歌詞が未入力かどうかのフラグをノートに持たせるのではなく、note.lyricの型をstring | undefinedにして、undefinedの場合はSequencerNote.vueでデフォルト歌詞を表示するようにする、というのもありだと思います。

その他

@Hiroshiba
Copy link
Member

たしかにできるとそこそこ便利そうですが、結構考えることは多めな気がしました!!

  • 歌詞未入力状態をどう可視化するか
    • 意外とこれは何もしなくてもそんなに問題ないかも
    • というより問題になることがかなり少ない
    • 歌詞は連続して入力するので「見た目が違うから入力する」とはなりづらそう
    • とはいえ課題ではある
  • 偶然同じ歌詞が入力された場合をどう検知するか
    • おそらく同じ歌詞を入力してもinputのonChangeなどは発動しない
    • あと「歌詞が同じだから入力しなくて良いか」とパスされたときも考えないと
    • 防御的な考え方だけど「編集状態に入ったら編集したとみなす」が丸そう
  • 間違えて編集してしまった場合どうすべきか
    • undoできればとりあえず良さそう?

個人的にはこんな感じかなと!

  • 優先度は低め
  • 見た目はとりあえず変えない
    • 見た目案が出て、デザイン方針的に問題なさそうであれば適用しても良さそう
  • 編集状態にはいったら歌詞変更済みフラグを立てる
  • undo対象に含める

@Hiroshiba
Copy link
Member

追記:
歌詞をundefinedにするの良さそう!
歌詞編集に入った時に未入力状態(空の文字列が入力されてる状態)にすると良さそう。
あと空の文字列が入力されたら歌詞をundefinedにするとかしても良さそう!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants