Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処
Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処について紹介します。
1.問題点
過去のバージョンですが、Movable Type 5で管理画面にアクセスすると「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーに遭遇しました。
ログイン画面でこのエラーが発生するため、ログインすることもできません。
2.原因
サーバのPerlがバージョンアップされたため、MT5のPerlバージョンと適合しなくなったようです。
3.対処
調べたところ、「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」のエラーに遭遇するk所は下記の3ファイルでした。
extlib/Data/ObjectDriver/Driver/DBD.pm
extlib/I18N/LangTags/Detect.pm
extlib/SOAP/Lite.pm
それぞれ下記の修正を行います。
extlib/Data/ObjectDriver/Driver/DBD.pm
14行目
変更前
unless (defined %{"${subclass}::"}) {
変更後
unless (%{"${subclass}::"}) {
extlib/I18N/LangTags/Detect.pm
140行目
変更前
if defined(%{$module . "::Lexicon"}) or defined(@{$module . "::ISA"});
変更後
if (%{$module . "::Lexicon"}) or defined(@{$module . "::ISA"});
extlib/SOAP/Lite.pm
465行目
変更前
unless (defined %{"$protocol_class\::Client::"}
変更後
unless (%{"$protocol_class\::Client::"}
これでログインはできるようになりますが、ログイン後に別のエラーが発生します。
こちらの対処方法ついては、別エントリーで紹介します。
なお、操作によっては異なるエラーに遭遇するかもしれません。予めご了承ください。
4.参考サイト
Finaleで3連符の中に3連符を設定する方法
Finaleで3連符の中に3連符を設定(3連符の入れ子)する方法を紹介します。
完成イメージ
1.3連符の中に3連符を設定する
まず内側の音符から入力します。
3連符の設定をせず、2分音符を入力し、8分音符の3連符を入力します。
「連符ツール」をクリック。
2分音符をクリック。
連符定義ダイアログが開くので、「『4分音符3個』を『4分音符2個分』に入れる」を設定。この項目は小節全体に対してどう設定するかで考えてください。今回は3連符の入れ子は2分音符の中で設定するので、親の3連符は4分音符3個分、範囲は4分音符2個分(または2分音符1個分)になります。
3連符の表記位置を「音符の上」にして「OK」をクリック。これを設定しないと子の3連符と表示が重なります。
これで3連符の入れ子部分が完成です。
残りの拍も入力して、完成です。
2.参考サイト
参考サイト(Twitter)は下記です。ありがとうございます。
FInaleでトレモロを表示する方法
FInaleでトレモロを表示する方法を紹介します。
1.2音のトレモロ
完成イメージ
まず、表示させたい長さの半分の音価で入力。全音符の表示であれば2分音符で入力。
トレモロにしたい箇所を選択。
「プラグイン」→「TGツール」→「簡易トレモロ」をクリック。
「連桁の本数:」にトレモロの数を入力して「適用」をクリック。
これで完成です。
2.1音のトレモロ
音符を入力。
「アーティキュレーション」ツールを選択。
トレモロ記号を加えたい音符をクリック(または音符を囲むようにドラッグ)して、「アーティキュレーション」ツールを開く。
音符を囲むようにドラッグした場合は下記のダイアログが開くので「選択」をクリックすれば前述の画面に遷移します。
スクロールをして、34~36のいずれかを選択して「選択」をクリック(音符を囲むようにドラッグした場合は割付画面に戻るので「OK」をクリック)。
これで完成です。