プレイ日記
イスターリャ arduinotexter
【T-VIEWER】よし、見辛いけどこれは今後改善して行こう。 さて、SLOT4でもそれなりな動きを見せてくれるようになったので、いよいよスーさんにかけあって「スーGRPエディタで開く」機能をゆっくり追加していくとする。 方法は単純。示し合わせたファイル名のテキストを保存し、それをスーGRPエディタで拾って頂くと言う形式だ。
7そうだね
プレイ済み
返信[1]
親投稿
イスターリャ arduinotexter
1.GRP閲覧中の下画面からEDIT項目をタッチします 2.確認ダイアログが表示され、進むとテキストファイルが保存されます 3.スーGRPエディタをEXEC起動します。SLOT4モードで、2つ以上ある場合は選ばせます。 4.スーGRPエディタでテキストを読み込み、GRPを開きます 5.テキストを削除します
1そうだね
プレイ済み
返信[2]
親投稿
イスターリャ arduinotexter
ただし、標準権限では同一プロジェクト内にTH_GEDが存在しないと編集できません。また、圧縮形式や部分保存形式は編集できません。 ファイル名のフォーマットは、"ファイル名"か、"プロジェクト名/ファイル名"を検討しています。 突然ファイル削除ダイアログが出ると困惑すると思いますが、それはT-VIEWER側に説明ダイアログを付けます。
1そうだね
プレイ済み
返信[3]
親投稿
イスターリャ arduinotexter
ついでに、PTGとかGPKでテキスト一覧がエラー停止するバグを修正。 SAVE項目も修正。予定通り全ファイルデータはT-VIEWER1.DATに収まっている。 しかし、どうしようか。常にプレイ日記を確認してアクティブに反応するのは私くらいのものだし、直接スーさんの日記にお願いしにいくかな。
1そうだね
プレイ済み
返信[4]
親投稿
スー thanks_0u0
ちょっと今は別事に気を取られていてコメ残しだけですけれど、どんな連携なのか後で見ますねー(・u・)ノ
1そうだね
プレイ済み
返信[5]
親投稿
スー thanks_0u0
GRPを渡すだけなら、G0,1,4,5のどれかに読み込んでおけば初期化されずに残りますよー(・u・) あっ、でもエディタの方のセッティングで画像読み込み指定があると上書きされちゃいますけれど( ´・ω・` )
2そうだね
プレイ済み
返信[6]
親投稿
イスターリャ arduinotexter
しかしそれだと、上書き保存の時に一度ファイルを選ばなければいけないんですよね…… 上書き保存時にプロジェクト名も保存してると思うので……あれ? 渡す情報、プロジェクトだけで良いですね。 GRP0に画像を読み込み、 プロジェクト名をスーGRPエディタに渡し、 TH_GED.SETTINGをT-VIEWER側から参照してバックアップ後自動変更、 処理はこれくらいですね。意外と長かった。
1そうだね
プレイ済み
返信[7]
親投稿
イスターリャ arduinotexter
つまり、この方法だと、スーGRPエディタ側の処理は *指定の名前のテキストファイルがあるとき、そこを保存先のプロジェクトとしてはじめに代入する *TH_GED.SETTINGのバックアップがある場合は、終了時に戻す この2つですね。 最後の項は、「指定テキストファイルの存在する時はTH_GED.SETTINGからのGRP読み込みをスキップする」機能があれば不要です。
1そうだね
プレイ済み
返信[8]
親投稿
イスターリャ arduinotexter
あっ テキストファイルは文字列変数に代入後すぐに削除してください、一応T-VIEWER起動時にも消すようにしますが残ってるとずっとその画像が読み込まれ続けますので。(DELETEダイアログが出る理由の)説明はこちらでしておきます。 また、SLOT4モードではプロジェクト名をテキストファイルで渡しますが、一般権限のスロットで実行された時でも空文字列のファイルは生成します。TH_GED.SETTINGに設定されたGRPの読み込みスキップのフラグ代わりに使うためです。こちらも読み込み後破棄してください。
1そうだね
プレイ済み
返信[9]
親投稿
スー thanks_0u0
一応、EXECの時に文字列を渡せたら連携しやすい!って思いついたので、小林さんに要望だけしてきましたー(・u・) 上書き保存の際にそのままセーブ出来れば良いのでしょうか?それなら設定ファイルのGRP読み込みのところにプロジェクト込みのパスを書けばカーソル位置が自動で合うようになっていますー。 TH_GED.SETTINGは、カンマ区切りの平文テキストで次のバージョンでは、簡易レイヤ、グリッド、テーマ、編集範囲の移動幅、GRP0、GRP1、GRP4、GRP5、編集単位、全体バケツ初回フラグ、RGB表示形式、BGMボリューム、SEボリューム、再生するBGM、の順に並んでいます。 書き換え時のエラー対策などはしていませんので、あんまり無茶な値に書き換えたりはしないようにして下さいませー(・ω・)
2そうだね
プレイ済み
返信[10]
親投稿
スー thanks_0u0
T-VIEWER1.0.4も使ってみたのですけど、旧3DSだとかなり時間かかっちゃうんですね。 フィルタを選択してからフィルタ開始まで数十秒フリーズのようになって、フィルタ本体は数分かかっちゃうみたいです。進捗表示もないので最初戸惑ってしまいました( ´・ω・` ) newだとこのレベルの処理が普通に実用範囲の速度になるのでしょうか?すごい。。(・д・)
2そうだね
プレイ済み
返信[11]
親投稿
イスターリャ arduinotexter
それでは設定ファイルを書き換える方法で検討します。この方法だとT-VIEWER次回起動まで読み込みファイル名が同じになりますが、変更後は下手なアフターフォローなしの放置でよろしいですか? また、T-VIEWERのフィルタ機能には時間がかかります。Newでも戸惑う方は多いかもしれません。が、画面が全く動かないとフリーズだと思われるので、処理中フィルタの項目を反転表示すると同時にフィルタ処理中も画像の(スライドパッドでの)スクロールを可能にしています。
2そうだね
プレイ済み
返信[12]
親投稿
スー thanks_0u0
うーん、確かに勝手に設定変わったら困っちゃいますよね。。。じゃあやっぱり一時ファイルを出力する形にしましょうか?(・д・) 折角連携付けるならT-VIEWER以外の色んなソフトからも使える形にしたいので、TH_GED.LINKっていうファイルにファイルパスを書いておくと画像が読み込まれて、その後削除される、みたいな感じではどうでしょうか? あ、カンマ区切りで「起動元プログラム名,ファイルパス」の方が良いかも?それなら「○○から連携起動されました。連携用一時ファイルを削除します。」みたいなダイアログ出せますもんね( ´ u ` ) とりあえずは最初のページになってるG0に読み込む感じで考えていますー。
2そうだね
プレイ済み
返信[13]
親投稿
スー thanks_0u0
あら、newでも時間かかっちゃうんですかー。GRPファイルって結構左上だけ画像があってあとは透明、みたいなことも多いので、できたら進捗表示は何処かにつけてあげた方が安心出来ると思いますー。 コンソールならFORの何度かに一回PRINT混ぜるだけで実装出来ますよ(・u・)
2そうだね
プレイ済み
返信[14]
親投稿
スー thanks_0u0
あ、起動元プログラム名は最後にして「ファイルパス,起動元プログラム名」の方が読み込み処理がちょっとだけ楽かもしれません(・ω・)ノ
2そうだね
プレイ済み
返信[15]
親投稿
イスターリャ arduinotexter
では、TH_GED.LINKという名前のテキストファイルに「ファイルパス,起動元プログラム名」のフォーマットで出力、ということでよろしいでしょうか。 また、フィルタ処理のプログレスバーについてはWebのYouTubeのように下画面の上部に線にして表示しようと思います。アドバイスありがとうございます。
2そうだね
プレイ済み
返信[16]
親投稿
スー thanks_0u0
はーい、色々注文聞いてくださってありがとうございます!( ´ ▽ ` )ノ こちらでも次のバージョンで連携ファイルを読めるようにしておきますね!
2そうだね
プレイ済み
返信[17]
親投稿
スー thanks_0u0
よく考えたら、TH_GED.LINKってTH_GEDと同じプロジェクトに生成しないとダメっぽいですか?? その辺りは大丈夫でしょうか?ファイル名から生成するプロジェクトを検索?(・・?) そして、もっと汎用性のあるフォーマットに出来ないかなぁ、ってちょっと考えていました。 例えばTEMP.LNK、みたいな汎用連携用一時ファイルのフォーマットを作って、起動先ファイルパス,起動元ファイルパス,起動元プログラム名,渡す文字列、みたいな感じにして、それを使うためのDEFを用意したら使いやすかったりしないでしょうか??
2そうだね
プレイ済み
返信[18]
親投稿
イスターリャ arduinotexter
ファイル名から総検索するアルゴリズムは既にTSMILEで使用しているのですが、2つ存在した時にどちらにするか選択するのが面倒なので、T-VIEWERと同じプロジェクトに入っているTH_GEDを参照します。TH_GED.LINKも同じプロジェクトのモノを参照します。 (プログラム本体を開いて編集する設定方法はT-シリーズのテーマに反するので、やるにしてもPRG系命令で作った設定専用プログラムを作ります。) また汎用性のあるフォーマットには興味がありますが、スーGRPエディタは現在メモリ管理がカツカツなはずであり、またDEF命令もメモリを消費しますので、また今度ということでお願いできますでしょうか。
1そうだね
プレイ済み
返信[19]
親投稿
イスターリャ arduinotexter
あ、T-VIEWER側に設定画面を作る方法もあるか……でも、その場合SLOT4モードじゃないと面倒なことになる。 ちなみにT-VIEWER側のメモリ管理はガバガバなので未知数です。未だに一部のFORで実数型変数使ってますので、余計なメモリは食ってます。
1そうだね
プレイ済み
返信[20]
親投稿
スー thanks_0u0
TH_GEDのメモリがカツカツなのはスロット0〜3とスロット4で2つTH_GEDを起動した時の話で、1つなら足りるけど2つだと足りない、みたいな感じですー( ´・ω・` ) でも普通くらいのメモリ使用量のソフトならちゃんと同時起動できますし、TH_GEDをメニューから終了した場合ある程度解放して終了するようにしましたので、今のところ問題はないです。多分DEFも大丈夫かと!スロット指定無しのEXECの場合一旦メモリ解放されるみたいですし。 そうは言っても汎用性を考えたりしているとかなり時間がかかっちゃいますよね。とりあえず連携自体はTH_GED.LINKで進めてもらって大丈夫ですー( ´ ω ` ) 「ファイルパス,起動元プログラムファイルパス,起動元プログラム名」とかにしてもらったらTH_GEDの終了時に起動元プログラムをEXECするようにできますけれど、どうしましょう?
0そうだね
プレイ済み
返信[21]
親投稿
イスターリャ arduinotexter
え!?できるんですか? できるのであれば是非お願い致します。 ……と言おうと思ったんですが、それだとよく考えたらT-VIEWER側で同じ画像に戻ってくる処理が必要ですね、はい。 一応処理だけ作っておいて、コメントアウトでおいておくことはできますか? T-VIEWER Ver.1.1.0でそこまで実装するとどんどん公開が延び延びしそうです……すみません。 一応「ファイルパス,起動元プログラムファイルパス,起動元プログラム名」のフォーマットで出力するようにしておきますので、総ての連携プログラム、あるいは"T-VIEWER_1.1.0"においては起動元起動を一時的に無効化して頂ければ幸いです。 "T-VIEWER_1.1.0"でチェックすれば、今後私がアップデートした時に自動的に除外対象から外れますし。
1そうだね
プレイ済み
返信[22]
親投稿
スー thanks_0u0
T-VIEWER側で同じ画像を開くという事は、画像のファイルパスを何処かに置いておかないといけないですよね。 TH_GED.LINK自体は連携起動されたときに削除するつもりでいたのですけれど、その辺りもちょっと考えないといけないかもですね。 とりあえず今は簡易的に済ませて、起動元には戻らないようにしておきますー( ´ ω ` )
1そうだね
プレイ済み
返信[23]
親投稿
イスターリャ arduinotexter
ありがとうございます。 一応、不安なので念押し。 ・TH_GED.LINKという名前のテキストファイルに、「ファイルパス,起動元プログラムファイルパス,起動元プログラム名」のフォーマットで書き込みます。 ・起動元プログラムファイルパスは将来を見据えた仕様であり、少なくとも次のバージョンでは項目が存在するだけで使用されません。 ・TH_GED.LINKは連携プログラムで作成され、EXEC後すぐにTH_GEDによって削除されます。
1そうだね
プレイ済み
返信[24]
親投稿
スー thanks_0u0
大丈夫ですー、ちゃんと思ってた通りです。確認しました!( ´ ▽ ` )ノ T-VIEWER側では、同プロジェクトにTH_GEDがあるかを確認して、あればTH_GED.LINKを生成後EXEC。 こちらでは、TH_GED.LINKの有無を確認後読み込んで、ファイルパスから画像読み込み、起動元プログラム名で連携起動されたことを明示、その後TH_GED.LINKを削除する、の流れですね。 勘違いってありますし確認大事ですよね。ありがとうございます(・u・)
1そうだね
プレイ済み
返信[25]
親投稿
スー thanks_0u0
連携機能自体は昨日でほぼ出来ましたー。 ファイルパスにスペースがあれば消すようにしたので、ファイルパスはFILESで取得したプロジェクト名とファイル名をそのまま繋げても大丈夫です。勿論ファイル名から先頭のスペースを削除してから繋げてもらっても大丈夫です( ´ ω ` ) まだ個人的に追加したい機能とかがあってリリースはしませんけれど、もしT-VIEWERがリリースしたら速やかにリリース出来るようにしておきますー( ´ u ` )ノ
0そうだね
プレイ済み
返信[26]
親投稿
イスターリャ arduinotexter
了解です! ファイルパスは現在プロジェクトとファイル名を「/」で区切って保存していますが、空白にした方が……?(勘違い あっ斜線はそのままで良いですね。すみません。 T-VIEWERは、今は手元に3DSがないのでできませんがバグfixは粗方終了しているので、いつでも公開可能です。 今日夕方以降に公開します。
1そうだね
プレイ済み
返信[27]
親投稿
スー thanks_0u0
あっ、パス操作とかしてるからわかるかな、って思って説明省いちゃいましたけれど、空白はファイル名をFILESで取得したときに先頭について来るやつのことですー。取得したままの文字列だとスペースかアスタリスクが付いてて読み込めなくなかったですかー? とりあえず、そのままLOAD出来るような「プロジェクト名/ファイル名」の形になっていれば大丈夫ですー。説明悪くてすみません( ´ ▽ ` )ノ
1そうだね
プレイ済み
返信[28]
親投稿
イスターリャ arduinotexter
了解です、既にその形式なので問題ありません! T-VIEWER作ってる時は自作ファイル取得命令使ってるので、あらかじめ空白が取り除かれており、空白を意識する事がなかったのです…… では、予定通り公開します。
1そうだね
プレイ済み