-
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
アップデート 0.21.0 #2296
アップデート 0.21.0 #2296
Conversation
<div class="text-h5">書き出し</div> | ||
<div class="text-h5">音声書き出し</div> |
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.
ダイアログのタイトル。1回トイレに行って帰ってきても何の画面かわかるように。
title="書き出し対象" | ||
description="すべてのトラックをまとめて書き出すか、トラックごとに書き出すか選べます。" | ||
title="書き出し方法" | ||
description="すべてのトラックをまとめて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.
「書き出し対象」だと、書き出すトラックの対象なのか、書き出すファイルの対象なのかが分からないかもと思って変えてみました。
「まとめて書き出す」も、1つにまとめるのか、一気に書き出すのかと2つ意味がありそうだったので、「まとめて一つの音声ファイルを書き出す」にしてみました。
title="リミッターを適用する" | ||
description="ONの場合、0dBを極力超えないように音声を調整します。" | ||
title="音量を制限する" | ||
description="ONの場合、音量が0dBを極力超えないように音声を調整します。" |
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.
ユーザーのやりたいこと目線でラベルを変更してみました。
「リミッターを適用する」はプログラミング側で表現している実装(あるいはDTM用語?)で、ユーザー側の気持ちとしては「音量の抑制」かなぁと。
ただ抑制だと全体的に抑制されてしまうと勘違いされる気がしたので、制限にしました。
まあ本当は完璧に制限されるわけではないからちょっと正しくないんですが、まあ分かりやすさ重視でいいかなぁと・・・。
どういう処理が行われるかをhow to useに書くのはありかも。とりあえず詳細説明もあるし、そこまでしなくてもと思ったので書いてないです。
詳細説明の方ですが、「0dB」は一般に通じないだろうなと感じました。
多分読み方もわからないはず。デシベルと聞いてもピンとこないはず。
なので主語に「音量」を追加してみました。まあ後は前後の言葉からちょっとわかる。。。はず。。。
title="適用するトラックのパラメーター" | ||
title="適用するトラックパラメーター" |
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.
「適応するトラック
のパラメーター」と読めてしまうので、後者2つをまとめてしまってみました。。。
ドメイン用語っぽくなってしまいますが、あとあと変更するのも仕方ないと感じています。
「パラメーター」と呼ぶか「オプション」と呼ぶか迷いましたが、パラメーターの方は連続的な値(ボリュームなど)を取れそうなので、パラメータが良い気がしました。
ただ色んな音声系ソフト見ると一般的に多分こういうの「オプション」なので、合わせてもいいのかも。
label: "すべてのトラック", | ||
label: "まとめる(ミックス)", | ||
value: "master", | ||
}, | ||
{ | ||
label: "トラックごと", | ||
label: "トラック別", |
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.
今回の文言調整で一番難しかったところです。。。。
「全てのトラック」だと「全てのトラックが一つずつ書き出される」もありえるので変更しようとしてみました。
大事なのは「1つにまとめること」だと思うので、「まとめる」「1ファイル」などを考えました。
まあこの2つだったら「まとめる」の方が良さそうだったのでそっちにしましたが、ぶっちゃけ分かりにくいんですよね。。。。。何が出力されるのか。。。。
特に既存ユーザーにとって分かりづらそうだったのと、まーーーーーーきっと聞いたことがあると信じて、「(ミックス)」とつけてみました。
ここはめちゃくちゃ難しいです。。。。。。
後者は「トラックごと」だと「毎」の「ごと」なのか「勢いよく行くぜ!」みたいな「ごと」なのかちょっと不明瞭かもと思ったので変えてみました。
import { createLogger } from "@/domain/frontend/log"; | ||
import { useRootMiscSetting } from "@/composables/useRootMiscSetting"; | ||
|
||
type SamplingRateOption = EngineSettingType["outputSamplingRate"]; | ||
|
||
// ルート直下にある雑多な設定値を簡単に扱えるようにする | ||
const useRootMiscSetting = <T extends keyof RootMiscSettingType>(key: T) => { | ||
const state = computed(() => store.state[key]); | ||
const setter = (value: RootMiscSettingType[T]) => { | ||
// Vuexの型処理でUnionが解かれてしまうのを迂回している | ||
// FIXME: このワークアラウンドをなくす | ||
void store.dispatch("SET_ROOT_MISC_SETTING", { key: key as never, value }); | ||
}; | ||
return [state, setter] as const; | ||
}; | ||
|
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箇所から使うようになったので関数に書き出しました。
<div v-if="showSinger" class="character-portrait-wrap"> | ||
<div v-if="showSingCharacterPortrait" class="character-portrait-wrap"> |
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.
設定の変数名をちょっと変えさせていただきました。
Singer
が何をさすか将来的に変わる可能性があったので、ソングエディタのキャラクター立ち絵を指す感じの言葉に変えてみました。
const viewSubMenuData = computed<MenuItemData[]>(() => [ | ||
{ | ||
type: "button", | ||
label: showTextLineNumber.value ? "行番号を非表示" : "行番号を表示", |
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.
トークエディタの「表示」メニューバーの下に項目を追加するために無理やりこれを移動させてみました。
けどまあ結構切り替えることもありそうだし(長いコンテンツには使うけど短いコンテンツには使わない、みたいな)、これでよかったのかも。
/** ルート直下にある雑多な設定値を簡単に扱える便利コンポーザブル */ | ||
export const useRootMiscSetting = <T extends keyof RootMiscSettingType>( | ||
store: Store, | ||
key: T, | ||
) => { | ||
const state = computed(() => store.state[key]); |
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.
useStoreを使うか関数の引数にするか迷いましたが、まあDIとかしやすいようにこっちの方がいいかなと。
showSinger: z.boolean().default(true), | ||
showSingCharacterPortrait: z.boolean().default(true), // ソングエディタで立ち絵を表示するか |
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.
この設定はまだ正式リリースされていないので、マイグレーションは必要ないかなと。
テストが通ったのでマージします!! (しばらくプレリリースしてから本リリースする予定です) |
内容
0.21.0アップデートを行います。主なアップデートは以下です。
結構細かいところで文言の調整などを行いました。
1つ1つコメントしていこうと思います。
関連 Issue
その他