CustomScript

ページ

2023年6月16日金曜日

NeeVew (Canary版)

ひさびさにCanary版の運用を開始したので、あらためてお知らせします。39.5からたいして変わっていません。

注意:正常動作や互換性は保証されません。通常の使用にはナンバリングされた正式版をご使用ください。


Canay版について


NeeView Canary は、開発中のスナップショットです。正式版で提供される予定の機能を先行体験するためのものです。

ダウンロードはこちらから

  • .NET6ランタイムが必要です
  • パッケージ名は NeeViewCanary[日付].zip
  • 正式版よりも不安定です。
  • 保存データに互換性がない可能性があります。正式版とは別けての運用をお勧めします。
  • ZIPでの提供のみとなります。
  • 提供は不定期で、基本的に告知はありません。
  • 更新履歴は含まれる CHANGELOG.*.html を参照してください。自動作成のため、目安程度のものです。 (今回のCanary版では動画サムネイル実装とありますが、無効化されています)


NeeVew 40.0 について


いくつか大きな変更を行う予定ですのでお知らせします。
  • フレームワークを .NET Framework 4.8 から .NET6 に変更します。このため実行には .NET6 ランタイムが必要になります。 ランタイムがインストールされていない状態で実行した場合、その旨のダイアログが表示されると思いますのでその指示に従って Microsoftのページからダウンロードしてインストールしてください。
  • 対応環境を Windows 10 以降とし、64bit版のみの提供となります。 32bit版(x86)は今後提供されません。Windows7はサポート範囲外となりますが、確認しなくなるだけなのでたぶん動くかと思います。
正式版リリースはまだ先になりそうです。
(10/11追記)
.NET8 がリリースされるのが 11月 とのことなので、リリースはそれに合わせようと思っています。 .NET8 がリリースされるまでは機能追加の作業を続け、その後は .NET8 への切り替えと安定化作業、そしてベータ版、リリース版作成といった流れを予定しています。

96 件のコメント:

  1. NeeViewは愛用しているソフトウェアの1つで、大変便利に使わせていただいています。ありがとうございます。

    早速ですが、39.5の環境とは分離した状態でCanary0616を配置して実行したのですが、UNCパスにアクセスできませんでした。
    39.5の設定ファイル(UserSetting.json)を待避させて実行すると初期状態のままアクセスできます。
    Canary0616は何か変更があったのでしょうか。それともランタイムの影響を受けているのでしょうか。

    返信削除
    返信
    1. ご報告ありがとうございます。不具合ですので修正します。

      削除
    2. 早々にリリースしていただきありがとうございます。
      Canary0617においてUNCパスへのアクセスは可能になりました。

      削除
  2. Canary版リリースありがとうございます。
    Canary0617で気がついたことを報告します。

    ・メインビュー部分のコンテキストメニュー(OpenContextMenuコマンド)が表示されないようです。
    代わりにマウス位置にとても小さな四角?が表示されます。

    ・メニューバーを自動で隠す設定にしている場合、ウィンドウ右上の「最大化ボタン」にマウスポインタを合わせるとメニューバーが隠れてしまいます。
    初期状態では1秒の遅延が設定されているので、そのままマウスポインタを合わせたままにしておくと隠れたり出てきたりを繰り返します。
    最大化ボタン両脇の「最小化ボタン」や「閉じるボタン」部分では問題ないようです。

    環境: Windows 10 Home 22H2 (64bit) / .NET 6.0.18


    フレームワークの更新は色々とご苦労が多いことかと思います。
    ささやかながら応援しております。

    返信削除
    返信
    1. ご報告ありがとうございます。修正します。

      削除
    2. Canary0618で2件とも解決していることを確認しました。
      すばやい対応ありがとうございました。

      削除
  3. bitbucketの課題が作成できなくなったようなので、こちらに投稿させていただきます。

    WheelLeft/Rightがスライダー方向による操作入れ替えに対応していない
    デフォルトコマンド設定の「次のページに進む」にWheelLeft、「前のページに戻る」にWheelRightを割り当てても、Left/RightClickのように左開きにしても操作が逆転しません。
    「最初のページに移動」、「最期のページに移動」などでも同様です。
    ※Canary0617で確認しました

    よろしくお願いします。

    返信削除
    返信
    1. 設定の「コマンド」ページの「ホイール操作のときに入れ替える」を有効にしてお試しください。

      削除
    2. 素早い回答ありがとうございます。
      確かに思った通りの操作になりました。しかしながら、現状の仕様ですと、ホイール回転も逆転してしまいます。もし、よろしければホイール回転とチルトとで分けていただけないでしょうか?
      わがままなお願いで心苦しいのですが、よろしくお願いします。

      削除
    3. あ、通常のホイール操作と勘違いしていました。なるほどです。
      対応を検討します。

      削除
  4. Canary0618で気がついたことを報告します。

    ■ 1. ウィンドウやダイアログのホワイトフラッシュについて
    1-a) 各種フローティングパネルやスクリプトコンソールを開くと、対象ウィンドウ全体が一瞬真っ白に描画されるようです
    ※39.5でもウィンドウの最外周部分が一瞬真っ白に描画されていました(Canaryで悪化?)

    1-b) 設定ダイアログや各種モーダルダイアログを開くと、対象ダイアログのタイトルバーとダイアログの最外周部分が一瞬真っ白に描画されるようです
    ※39.5でも、一部のモーダルダイアログ(他のダイアログ内のラベル付きボタンを押すことでポップアップするモーダルダイアログ)を除いてダイアログの最外周部分が一瞬真っ白に描画されていました(Canaryで悪化?)


    ■ 2. Canaryで新設されたページリストのコンテキストメニュー項目「名前の変更」について
    2-a) 「設定 > 全般 > ファイル操作許可」の設定値が反映されていないようです。
    フォルダのブックでは常時有効になります。

    2-b) アーカイブのブックでは「設定 > 対応形式 > ZIPファイル編集可能」をONにしても有効にならないようです(.NET ZipArchiver で開かれたブックで確認)
    本件は既存のメニュー項目「フォルダーに移動」についても同様のようです。


    ■ 3. アーカイブのブックの取り扱い
    3-a) Canaryで新設された設定項目「設定 > 対応形式 > ZIPファイル編集可能」は.NET ZipArchiverで開かれたブックだけが対象のようです。これは意図したものでしょうか?

    3-b) 3.95でも同様ですが、一度開いたアーカイブのブックを(アーカイバ設定を変更したのちにNeeViewを再起動せずに)再度開いたとき、アーカイバが変化しないことがあります(情報パネルの「アーカイバー」欄とページリストパネルのコンテキストメニューの状態から判断)。これは意図したものでしょうか?
    下記に操作例を挙げます。再現する場合としない場合があります。

    <操作例>
    Step1. 「設定 > 対応形式 > ZIP > 標準機能による ZIP 圧縮ファイル展開を使用する」「設定 > 対応形式 > 7-Zip > 7-Zip による圧縮ファイル展開を使用する」を両方ONにした状態でいくつかのアーカイブのブックを開く
    => それぞれ情報パネルの「アーカイバー」欄が .NET ZipArchiver であることを確認する
    Step2. 「標準機能による ZIP 圧縮ファイル展開を使用する」をOFFにして、先ほど .NET ZipArchiver として開いたブックを開く
    => 情報パネルの「アーカイバー」欄が .NET ZipArchiver のままになっている場合がある。.NET ZipArchiver なのでコンテキストメニューから「削除」操作も可能。

    ※ 逆のケース(7-Zip (Zip) から .NET ZipArchiver にならない)でも同様です。再現する場合としない場合があります。


    ■ 4. ページの操作(ブックの編集)を伴うコンテキストメニュー項目について
    [ページリスト / フィルムストリップ / 情報パネル上のページサムネイル] におけるコンテキストメニュー項目のラインナップが不揃いのようです。

    <メニュー項目と表示対象>
    ・フォルダーに移動: [o/o/o]
    ・削除: [o/o/-] ・・・これは39.5も同様
    ・名前の変更: [o/-/-]

    環境: Windows 10 Home 22H2 (64bit) / .NET 6.0.18


    参考にしていただければ幸いです。

    返信削除
    返信
    1. ご報告ありがとうございます。

      1-a, 1-b, 2-a, 4)
      修正、対応を検討します。

      2-b)
      ZIPファイル編集は削除のみ対応する仕様になります。

      3-a)
      はい。7z.dllを使用したアーカイブは展開専用となり編集には非対応となります。

      3-b)
      一度開いたブックを再度開くときにすぐ開けるようにある程度キャッシュさせておくことがあり、これが原因かもしれません。
      修正を検討します。

      削除
  5. アップデート待ってました!ありがとうございます!

    返信削除
  6. いつもありがたく使わせて頂いております。ファイルごとにスクロール量を紐づける機能などを実装する予定はおありでしょうか。ファイルAnoスクロール量は20%、ファイルBのスクロール量は60%という風に個別に設定できると助かります。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      「ファイルごと」とありますが、これはブック単位ですよね?
      現状ですとスクリプトで実現可能かと思われます。以下のスクリプトを参考にしてください。ブックの名前に応じてスクロール移動量を変更するスクリプト例になります。
      https://bitbucket.org/neelabo/neeview.scriptsamples/src/master/Scripts/OnBookLoaded.nvjs

      削除
    2. ありがとうございます!

      削除
    3. 設定で通知オフにしてもブック開始時に右下に通知が出てくるのですが、これは仕様上仕方ないのでしょうか?

      削除
    4. nv.ShowToast() で通知を行っているのでこの行を削除してください。
      削除したものをアップし直しました。

      削除
  7. 要望です。
    履歴バーで履歴を表示してるときの十字キーのファイル移動はファイルのあるフォルダの中でのファイル移動ではなく、履歴に表示されているファイルの順の移動にできないでしょうか。
    また、履歴バーでファイルを選んだ後に十字キー操作(ページめくりの左右を含む)をすると履歴が更新されて選んだファイルが最上位に行くのは構わないのですが、表示される画面までもが最上位に戻されるのは困りものです。履歴で古いものを見ている時にファイルをみるごとにトップに戻されるとまたその場所までスクロールさせるのがつらいです。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
  8. 39.5を使わせて頂いてるものです
    mp4の動画によってなんですが何故かスローになったり内容だけが遅延して音声とずれたりすることがあります
    原因ってわかりますでしょうか?
    他の動画プレイヤーでは起こりません

    返信削除
    返信
    1. 申し訳ありません。動画はフレームワークの機能で再生しているだけなので不明です。

      削除
  9. いつも便利に利用させてもらっています。
    パス文字列中のアルファベットの大文字小文字違いに関して、気がついたことがあります。

    任意のパスを開く手段(下記参照)で、実際のパス文字列に対して "アルファベットの大文字小文字だけが異なるパス文字列" を指定した場合、
    問題なくブックを開いたり本棚を移動できますが、このとき実際のブックのパスとは独立して別個に「履歴」及び「サムネイルキャッシュ」が記録されるようです。

    例: 実際のブックのパス [C:\test\book.zip] に対してtestの最初のTを大文字にした [C:\Test\book.zip] を開くと...
    ・履歴に [C:\Test\book.zip] が([C:\test\book.zip]とは独立して)記録される
    ・本棚 [C:\Test] が開かれ [C:\Test\book.zip] のサムネイルが([C:\test\book.zip]とは独立して)記録される

    対象手段を利用しない限り遭遇し得ない事象なのでこのままでも特に問題ないとは思いますが、偶然気がついたので念のため報告するものです。
    (実害としては、履歴やサムネイルキャッシュが肥大化したり、本棚上の各種マーク(ブックマークの星や履歴のチェックマーク)で混乱を招くとか?)


    <任意のパスを開く手段(全て列挙できていないかもしれません)>
    ・ブックを開く(結果的に親フォルダも本棚として開かれる)
    1) アドレスバーへブックのパスを直接入力
    2) コマンド LoadAs に引数を設定して実行 // nv.Command.LoadAs.Execute( targetPath )
    ・本棚を開く
    1) スクリプトから本棚のパスを変更 // nv.Bookshelf.Path = targetPath

    返信削除
    返信
    1. なお、本件は NeeView 39.5 及び Canary版 の両方で再現しました。

      削除
    2. ご報告ありがとうございます。対策を検討します。

      削除
  10. 要望になります
    ソフトの主旨とはずれそうなのですが動画も再生できるので字幕のONOFFや音声の切り替え等も可能にならないでしょうか?
    ご検討下さい

    返信削除
    返信
    1. ご報告ありがとうございます。対応を検討します。

      削除
  11. Canary版では、起動オプション -h を付けて起動するとエラーで終了してしまうようです。
    特に実害はありませんが、ご報告まで。

    返信削除
    返信
    1. ご報告ありがとうございます。
      現象を確認しました。修正します。

      削除
  12. こういうエラーが出たので方向させていただきます

    OS Version: Microsoft Windows NT 10.0.22621.0 (64bit)
    NeeView Version: 39.5 (.msi)

    System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
    場所 TerraFX.Interop.Windows.IWICBitmapSource.Release()
    場所 PhotoSauce.MagicScaler.WicImageFrame.dispose(Boolean disposing)
    場所 PhotoSauce.MagicScaler.WicImageFrame.Finalize()

    返信削除
    返信
    1. ご報告ありがとうございます。

      おそらく EXIF 情報が入った AVIF 画像を表示する時に発生する不具合かと思われます。
      https://bitbucket.org/neelabo/neeview/issues/1370/error-when-the-thumbnail-on-pagelist-or

      Canary版では問題が発生しなくなっていると思われますので、よろしければお試しください。

      削除
  13. サムネイルの詳細表示の要望です。
    現状のサムネイル表示ですと各フォルダー内の最初の名前のファイルがそのまま縮小表示されますが、このサムネイルを表紙の指定した範囲だけを登録できるようにはならないでしょうか。
    本棚やブックマーク、履歴などを並べて閲覧する際、現状では最初のファイルの背表紙や折り返し、そでの部分などの余分な箇所がサムネイルに含まれてしまいします。
    これをそのフォルダー内の何ファイル目のどの範囲(x座標で表紙表示の開始位置とそこからのピクセル幅)を表示するのかを登録できれば、よりすっきりしたライブラリが楽しめると思います。
    その本を代表するサムネイルがブックマークや履歴一覧で、これまでのように何も指定されていなければ従来通りに表示され、もし指定されてある場合はそのページと範囲が表示されるようになると凝ったコレクションができそうです。

    返信削除
    返信
    1. ご要望ありがとうございます。
      対応を検討します。

      削除
  14. Canary更新ありがとうございます。ページ遷移エフェクトとパノラマモードがすごく良い感じですね。
    libVLCによるメディア再生も特に問題なく動作しています。

    以下に Canary230923 で気が付いたことを報告します。
    参考にしていただければ幸いです。


    1. ストレッチモードを切り替えた際にスケールがリセットされない
    これまでどおり、都度リセットされたほうが自然な気がします。


    2. マウスドラッグによる移動(画像の表示位置調整)に慣性が付くようになった
    指で弾くような操作(マウス移動中にボタンを離すような操作)を除いて、慣性を付けないほうが自然な気がします。
    ドラッグ後しばらく経ってからボタンを離してドラッグを終えると慣性が付かないので、パラメータのチューニングの問題でしょうか?


    3. ブックページのデザインが変更され、ページ色(地の色)が白になった
    黒固定 or 任意に指定 できたほうが良い気がします。
    ローディング中のダミーページも同様です。

    <参考: 各仮想ページの色(Canary230923)>
    ・ブックページ: 白固定
    ・ローディング中のダミーページ: 白固定
    ・音声ファイルページ: 黒固定
    ・見開き用のダミーページ: 設定 > ブック > ダミー ページの色、で指定可能

    ちなみに、ブックページのデザイン変更に伴って、関連する下記の設定項目が使われなくなった?ようです。
    ・設定 > ブック > ブックページ画像サイズ


    4. スクリプトで nv.Book.Wait() がエラーになる
    下記がそのエラーメッセージです。
    ---
    Error: (1): One or more errors occurred. (このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。)
    ---

    スクリプトコンソールから直接実行しても同様のエラーになります。
    メニュー > ファイル > 閉じる、等でブックが閉じられている状態であればエラーにならないようです。

    返信削除
    返信
    1. ご報告ありがとうございます。検討修正いたします。
      ドラッグ後の慣性は計算が上手く行っていません。なくなる可能性も大きいです。
      ブックページのデザイン等は試行錯誤中で、まだ変わる予定です。

      削除
  15. 質問&なければ要望となります
    本棚でソートをランダムにしているのですがブックの移動時に既読をスキップさせる方法ないでしょうか
    既読マークが入ったブックを非表示にするか、キーによるブック移動で既読を自動スキップにする、などの機能があれば教えてください。

    なければそのまま要望としてご検討いただきたいです
    非表示よりはスキップの方が便利そうですが・・・

    返信削除
    返信
    1. ご要望ありがとうございます。
      対応を検討します。

      削除
  16. アドレスバーを非表示にしているため、メニュー[ページ]にもパノラマモードの選択肢があると助かります。

    返信削除
    返信
    1. ご要望ありがとうございます。
      対応を検討します。

      削除
    2. Canary1005で実装を確認させていただきました。ありがとうございました。

      削除
  17. Canary0920 以降、下記のとおり「指定ページに移動(JumpPage)」コマンドの引数の意味が変化してしまっているようです。
    Canary0928 でも同様です。

    < nv.Command.JumpPage.Execute(1) の実行結果 >
    ・正式版 及び Canary0618 まで
    => ベージ番号 1 に移動(スクリプトマニュアルに沿った動作)

    ・Canary0920 以降
    => ページ番号 2 に移動(ページのインデックス番号 1 に移動?)

    返信削除
    返信
    1. コメント忘れてましたすみません(汗
      ご報告ありがとうございます。修正しました。

      削除
  18. いつもありがたく使わせていただいてます。
    2ページ表示でループに設定すると最終ページが1ページ表示になってしまいます。
    先頭の表紙と最終の裏表紙の絵が繋がっているものを1画面で観たいので、よろしくお願いします。

    返信削除
    返信
    1. ご要望ありがとうございます。
      対応を検討します。

      削除
    2. シームレスループ設定を追加いただき、ありがとうございます。

      削除
  19. Canary版で「設定ページ数戻る(PrevSizePage)」コマンドを実行すると、移動先のページが半分に分割されてしまうようです。
    「メニュー > ページ > 横長ページを分割する」の効果が移動先のページに強制適用されているような感じです。
    なぜか「設定ページ数進む(NextSizePage)」コマンドでは再現しませんでした。

    以下は補足です。
    - 1ページ / 2ページ / パノラマ、いずれの表示モードでも分割される
    - ページとして扱われたメディアファイル(動画・音楽)でも分割される
    - 同コマンドの移動先のページ以外は影響を受けない(その移動先ページも、一旦前後のページに移動すれば分割表示状態が解消される)。

    返信削除
    返信
    1. コメント忘れてましたすみません(汗
      ご報告ありがとうございます。修正しました。

      削除
  20. Canary版では、エフェクトが ON(かつエフェクトの種類が "なし" 以外) の場合、
    ブックを変更あるいは閉じた際に解放されるはずの「以前のブックのキャッシュ」がメモリ上に残存し続けてしまうようです。
    ※Canary1010でも再現しました。


    <再現手順>
    1. エフェクトを ON かつ 種類を "なし" 以外にする(何らかのエフェクトがかかっている状態)
    2. 別のブックを開く(同じブックを閉じたり開いたり、を含む)、操作を何度か反復する
    => この操作で消費メモリがどんどん増えていく
    3. エフェクトの種類を "なし"、あるいはエフェクトそのものを OFF、にする(エフェクトがかかっていない状態)
    4. 表示ページを数回変更する、あるいは別のブックを開く、あるいはブックを閉じる、操作をする
    => step2 の操作で増えた消費メモリが一気に減る

    以下は補足です。
    - step3,4 の操作をしなくても、NeeViewを終了させれば解放される(リーク的な雰囲気はなさそう)
    - step4 の表示ページ切り替え操作は、ときどき2回必要なことがある

    返信削除
    返信
    1. コメント忘れてましたすみません(汗
      ご報告ありがとうございます。修正しました。

      削除
  21. Canary1011でチルトホイールのキー入れ替えの実装を確認しました。
    期待通りの挙動で、問題なく動作します。
    ありがとうございました。
    ただ、この機能はデフォルトで有効の方がいいのではないでしょうか?
    チルトを左に傾けて、スライダーが右に動くのを期待するユーザーは少ないような気がします。

    返信削除
    返信
    1. コメント忘れてましたすみません(汗
      ご提案ありがとうございます。修正しました。

      削除
  22. 新たに実装されたパノラマ表示を色々試してみました。
    表示や切替もスムーズかつ横モニターでも余白が生かされるので良いと感じました。
    個人的に図表入りの技術書をpdfで読むことが多いのですが、ブラウザなどのpdfビューワーのようにパノラマ表示での2ページ表示に対応していただけないでしょうか?
    あと、この場合、1ページ送りで見開きページのずれを直せることが重要となります。
    これができるpdf(専用)ビューワーは見たことがないので。
    よろしくお願いします。

    返信削除
    返信
    1. ご要望ありがとうございます。検討します。
      ページ切り替えアニメの問題であるならば、設定の「画像操作」ページの「ページ移動時間(秒)」を設定して2ページモードにすると近い挙動になるかと思います。

      削除
    2. その設定をいじるだけでも印象が変わるので面白いですね。 巨大画像のロード時間などがアニメーション効果で見かけ上、隠蔽されるので良い感じです。
      たまに1ページ目が表紙、2-3ページにまたがって図表というpdfがありまして、これを見るときに NeeViewが表紙だけ単独にしたり、単ページ送りで見開きを調整など融通が利くので、とても重宝しています。
      ですので、パノラマでもできたらありがたいと思う次第であります。

      削除
    3. あと直接関係ないのですが、最初の投稿で、見たことがないと書きましたが、Firefoxでは奇数ページ見開き、偶数ページ見開きで入れ替え可能でした。

      削除
  23. いつもありがとうございます。
    サムネイルキャッシュ(Cache.sb)のvalueカラム(サムネ画像blob)の自動更新処理に関する提案です。

    現在のNeeViewでは下記いずれかの条件を満たす場合に対象レコードのvalueカラムが更新されますが、この動作に制限をかけることを目的とした提案になります。
    <valueカラム更新処理条件>
    a. 対象レコードのghashカラムが現在の設定値と相違している
    b. 対象レコードのsizeカラムが現在のファイルシステム上のデータ(ファイルの場合はサイズ、フォルダの場合は更新日時)と相違している


    提案:
    ・「valueカラム更新禁止フラグ」をメタデータとしてCache.dbに用意した上で、そのフラグがセットされているレコードに対するvalueカラム更新処理を抑制する。

    <valueカラム更新禁止フラグ(任意のサムネ画像が設定されていることを示すフラグ)>
    ・セット操作: なし(任意のサムネイルを設定するスクリプト側で行う)
    ・クリア操作: なし
    ・参照処理: あり(セットされていたらvalueカラム更新処理を抑制する)


    背景:
    表示中のページを「ファイルに保存(ExportImage)」コマンドで出力した画像をimageMagickでサムネイル化(面積指定で拡縮)して、sqlite3経由でCache.dbに登録および更新するスクリプトを書いて利用しています。
    ※ExportImageコマンドのパラメータ Mode を View にして、見開き・トリミング・各種エフェクト、が効いたスナップショットを出力させています。
    ※ターゲット(登録先のブック)パスをコマンドパラメータで指定(ブック、親ブック、本棚、パスを都度入力)できるようにしています。
    ※ghashを含むメタデータ生成処理はNeeViewの Config/ThumbnailConfig.sc、Thumbnail/Thumbnail.cs を直接参考にしました。
    ところが現状では前述の a,b いずれかが成立している場合、設定したサムネ画像が上書きされ失われてしまいます。
    このため、NeeView側のvalueカラム更新処理を(対象レコードを絞って)抑制できる手段があったらいいなと思った次第です。


    余談:
    ちなみに、Cache.dbのghash(ビットフィールド)には未使用のbitがいくつかあるようです。
    ghash本来の目的(サムネイル生成パラメータの変化を検出)とはズレてしまうので良くないかもしれませんが、例えばghashの bit29 にフラグを割り当てて利用することで、Cache.db のカラムを拡張することなく本件フラグを実装できるかもしれません。
    副作用として、サムネイル生成パラメータの変化を検出する手続きにおいてghashの対象bitを除外する処理を書く必要が出てきてしまいますが。。。

    余談2:
    「設定 > 全般 > サムネイル > サムネイルキャッシュの保存期間」が 無制限 以外の場合に行われる「対象レコードの自動破棄処理」についても、本件フラグがセットされていたら対象外とする措置があっても良いかもしれません(任意のサムネ画像が対象レコードごと失われることを抑制)。


    NeeViewを普通に利用する限り意味を成さない処理の実装の提案なのでちょっと気が引けるところもありますが
    ご検討頂けるとありがたいです。
    本件が直接採用されなくても、将来において任意サムネイル設定機能等の実装を検討される際の参考になればうれしく思います。

    返信削除
    返信
    1. ご提案ありがとうございます。
      対応を検討します。

      削除
  24. いろいろな機能の追加ありがとうございます。
    ずっと便利に使っています。

    機能の追加要望になります。
    1.クイックアクセスの機能の拡張でスマート検索のようなものが出来ないでしょうか?
    パスの指定を指定フォルダのみか下層も含むかは選択でき、表示するファイルを
    正規表現か何かで指定可能にする。開くごとに自動更新にすると負荷が上がりそうなので更新ボタンを設ける。
    表示順の設定もほしいです。
    例:*公募*.*の付くファイルを指定フォルダから日付昇順で表示する等。

    2.使い方の問題なのですがプレイリストに追加した後にNeeViewの機能でフォルダー移動
    させた場合にプレイリストのパスの更新をしていただけるととてもありがたいです。

    動作が重くなりそうなので難しいかもしれませんが音楽ソフトのメディアライブラリー機能のような形で
    登録した指定フォルダ内の移動をNeeView以外で行った場合も起動時に追従していただけると
    とても助かります。

    要望のみで申し訳ありませんがよろしくお願いします。

    これからますます厳しい寒さになりますがご自愛くださいますようお祈りいたします。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      1) について動作をイメージできなかったのですが、これはクイックアクセスに対する検索(フィルター)でしょうか?フォルダー以下の正規表現を使った検索は本棚では実装済みですがこちらとは異なるのでしょうか?
      ちなみに検索キー付きのフォルダー(本棚で検索した状態)をそのままクイックリストに登録可能です。

      削除
    2. 返信ありがとうございます。

      検索キー付きで登録可能なのを知りませんでした、試してみたところほぼ要望していた動作でした。
      検索付きクイックアクセス毎にサブフォルダーを含めるかどうかのオプションがプロパティの画面にて
      個別でチェック出来るとうれしいです。
      あと、試していて気付いたのですが同じパスに対して検索キーワードが違う際に
      並び順がパスに対して保存されているようです。
      検索キーワード別に記憶する仕様を要望します。

      今後クイックアクセスを沢山作ってしまうと思うので新たな要望なのですが
      本棚のフォルダツリー表示を常時表示させています。
      現在の横割り表示のほかに縦割り表示も要望したいです。
      現状、横の表示がスカスカの割に縦に表示を増やすとサムネイルなどの
      視認性がとても悪くなり困っていました。

      いろいろと面倒なことを書いてしまいましたが
      今後も開発をよろしくお願いします。

      削除
    3. ご要望ありがとうございます。対応を検討します。
      フォルダーツリーの配置場所についてですが、フォルダーツリーを表示させるアイコンを右クリックして表示されるメニューで左配置と上配置を選択できます。

      削除
    4. 返信ありがとうございます。

      右クリックで選択肢が出てくるとは気づいていませんでした。
      他の部分でも右クリックにて細かな機能が出てくるのに試していませんでした。
      使いたかった配置になり感動しています。

      クイックアクセス内にPCの方の矢印のような形で開け閉め出来る
      フォルダのようなものを実装していただけないでしょうか?
      それぞれに作成した条件を収納し必要な場合に開くようなものです。
      試しにクイックアクセスを色々と作っていたところ整理が難しくなりました。

      使うたびに要望で申し訳ありませんがご検討いただければと思います。

      削除
    5. ご要望ありがとうございます。対応を検討します。

      削除
  25. いつもありがとうございます。
    Canary版(Canary1113)について、下記の提案と報告があります。
    ご確認、ご検討いただけるとありがたいです。
    よろしくおねがいします。


    提案: フィルタ機能が追加された各パネルそれぞれに対して、本棚と同等の機能整備を提案します
    いまのところ、フィルタ結果件数変化の把握、キー操作やスクリプトからの利用、ができないので本棚と比較して少し不便に感じます。

    <対象パネル>
    - ページリストパネル
    - ブックマークパネル
    - 履歴パネル

    <内容>
    1. 検索ボックスにフォーカスを移すコマンドを用意する
    本棚では「検索ボックスにフォーカスを移す(FocusFolderSearchBox)」コマンドがあります
    2. パネルアクセサに検索ボックスへの読み書き用プロパティを用意する
    本棚では nv.Bookshelf.SearchWord で読み書きできます
    3. 表示中のアイテム件数をパネル上部に表示する機能を用意する
    本棚では 「設定 > パネル > 本棚 > 項目数を表示(nv.Config.Bookshelf.IsVisibleItemsCount)」で項目数表示を切り替え可能です


    報告1: 各検索ボックスのドロップダウンリスト項目(検索履歴)に対してテーマが反映されていないようです
    ホバー項目、選択中項目、に対してデフォルトテーマ?が適用されているように見えます。

    <対象>
    - 本棚パネル
    - ページリストパネル
    - ブックマークパネル
    - 履歴パネル
    - 設定(左ペイン上部)
    - 設定 > コマンド > コマンド設定(右ペイン右上)


    報告2: 「libVLC を使用して動画を再生する(nv.Config.Archive.Media.IsLibVlcEnabled)」をONにして動画を再生した場合、わずかにフレームドロップが生じるようです

    libVLCでの再生を利用してみてなんとなく違和感(カクつき)を覚えたので、同項目をOFFにしたり、VLCそのもので同じ動画を再生して比較したところ
    NeeViewで同項目をONにして再生した場合のみ、再生フレームレートが低下しているように見えました(目視で判断)。
    なお、同項目ONの場合は、GPU負荷がOFF時の6割程度で推移していました(相対的にGPU負荷が低く、再生フレームレートも低い)。

    念のためDLL指定をいくつか(VLC 3.0.18、3.0.19、3.0.20)切り替えてみましたが、結果に変化はありませんでした。

    返信削除
    返信
    1. ご報告ありがとうございます。
      報告1に関しては修正を検討します。
      報告2に関しては残念ながら仕様となります。回転やエフェクト等のNeeViewの特性を優先させるという判断で、コマ落ちの可能性のあるライブラリを採用しています。

      削除
    2. お返事ありがとうございます。
      正式リリースを楽しみにしています!

      削除
  26. ポータブル運用をしており、.NET化後のランタイムについて教えていただきたいです。
    今までは.NET FrameworkがWindowsに標準で入っていたのでZip展開で使用できましたが、次バージョンの.NET6からはランタイムのインストールが必要になるとのこと。
    .NETではフレームワークは3か所から探しているらしく、3番目のパス決め打ちのみ有効なようです。
    別環境からのコピーでC:\Program Files\dotnetを作成すれば動くことは確認できたのですが、ファイルコピーに管理者権限が必要です。
    管理者権限が必要ない DOTNET_ROOT 環境変数による設定を有効にする(バッチファイルや設定ファイルなどで)ことは可能でしょうか。
    ・DOTNET_ROOT 環境変数の値 (設定した場合) で指定した場所。
    ・HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\\InstallLocation にグローバルに登録されているインストール場所 (設定した場合)。
    ・%ProgramFiles%\dotnet (または 64 ビット Windows 上の 32 ビット プロセスの場合は%ProgramFiles(x86)%\dotnet) の既定のインストール場所。

    返信削除
    返信
    1. NeeView40.0 では .NET8 を採用することになりました。
      .NET Runtime のインストールについての詳細は、申し訳ありませんが私にはわかりません。

      ランタイムのインストールが不要な自己完結型アプリケーションでのZIPパッケージ作成も可能ですが、パッケージサイズが100MBを越えてしまったりランタイムだけのセキュリティアップデートができなかったりするので採用しませんでした。こちらに需要はありますか?需要がありそうなら通常のZIP版とは別に自己完結型ZIP版の提供を検討します。

      削除
    2. Canary1113(.Net6)で色々試してみて環境変数「DOTNET_ROOT_x64」「DOTNET_ROOT_x86」にそれぞれのアーキテクチャのdotnetフォルダを指定したら認識することが分かり、
      バッチファイルで環境変数を指定してから起動することでポータブル環境でも実行できました。
      そのため、現状ランライム非同梱でも問題なくなりました。
      Beta1119(.Net8)でも同様です。

      自己完結型パッケージですが、ZIP版でもdotnetをインストールすればよい人もいると思うので「NeeView」と、展開すればすぐ使える「NeeView+dotnet(自己完結)」または「dotnetのみ」を「NeeView」に追加展開用の2ファイルがあればいいかなと思います。ZIP版を使うような人はセキュリティアップデートも自分でできる位にはわかるようなイメージなので、更新しやすいようフォルダで分かれているなどにすればよい気がします。

      また試行錯誤中に遭遇したのですが、SusiePluginのフォルダに大量にspiファイルがあると固まってしまいました。
      同じフォルダを39.5で使用していますが、こちらでは問題なく使用できています。

      削除
    3. 問題が解決したようで何よりです。

      > また試行錯誤中に遭遇したのですが、SusiePluginのフォルダに大量にspiファイルがあると固まってしまいました。

      こちらでは60個以上のspiを読み込ませていますが問題は発生していません。再現性があるようでしたらなにか特定のspiが影響している可能性がありますので、なにかわかりましたら報告いただけると助かります。

      削除
    4. axshell.spiがあるとダメでした。
      このプラグインがフォルダに入っている状態で、Susieプラグインを使用するをオンにすると、NeeView.Susie.Server.exeが立ち上がりますが、設定画面が固まってしまい、閉じるボタンすら触れなくなります。

      SusiePluginを集めたフォルダを指定していたので、NeeViewで使用するものだけにしたフォルダを別途作るようにします。

      削除
    5. 調査ありがとうございます。
      こちらでも axshell.spi をダウンロードして試してみたのですが、操作不能になることはありませんでした。申し訳ありませんが、ちょっと調査は難しそうです。

      削除
  27. SusiePluginを使用するときにx86版のランタイムが別途必要になることが発覚。都合2回のランタイムインストールが発生する。
    うーん、インストール不要の自己完結型パッケージを標準にしたほうがもしかして問題が少ないのか?これまでのパッケージサイズの10倍になる100MBを越えたサイズになるのがネックだけど気にしすぎでしょうか?
    これを見ているどなたでも結構ですので、意見があればコメントください。

    返信削除
    返信
    1. 次のベータ版は自己完結パッケージにして様子見てみます。

      削除
    2. Canary版を試用させてもらっていましたが、susieプラグインを利用していなかったので気が付きませんでした。

      配布サイズ増加(約10倍)+セキュリティアップデート適用が次期リリース時までフォローされない VS 初回セットアップ時の手間、のトレードオフになるのだと思いますが、個人的には(susieプラグインを使っていないので)これまでどおりランタイム別を推したいところです。

      ZIP版のみ自己完結型パッケージでリリース、インストーラ版はこれまでどおり、とかが落としどころでしょうか?

      削除
    3. ご意見ありがとうございます。なかなか悩ましいところです。
      Beta1121 を自己完結型にしてみました。なんとか100MB越えずにすみました。

      削除
    4. 現状の考えは自己完結型に振れており、それをまとめます。
      - パッケージサイズ:これまでと比べるから際立つのであって、ストレージを圧迫するほどのものではないかと。
      - セキュリティアップデート:組み込みの他のライブラリ(pdfuimや7z等)にもセキュリティリスクはあり、どちらにしろ更新が必要になる。
      - 他のアプリ、例えば Paint.NET は自己完結型になっていたのでこれに追従。
      - 既にランタイムをインストールしている環境では重複が気になるかもしれないので、詳しい人向けにフレームワーク依存型パッケージを用意するかも?不具合が出たときに環境差で原因特定が困難になる可能性があるので若干抵抗あり。

      数日前まではフレームワーク依存型に決めていたのですが、そこから変更した理由を挙げます。
      - パッケージサイズ:いきなり10倍に抵抗があったが、前述の通り。
      - セキュリティアップデート:前述の通り。
      - 自己完結型は直下フォルダにDLL多すぎてユーザーファイルを見つけにくい :ユーザーファイルを1つのフォルダーにまとめる(次のベータ版からの予定)
      - 本体とSusie用にx64,x86両方のシステムDLLが必要になるのでそれなら別にフレームワークをインストールしてもらったほうがすっきりしそう:結局2回のインストールが必要なのであまり意味無し

      削除
  28. 要望です。
    「ページリスト」の「フォルダツリー」表示に付きまして、「クイックアクセス」や「ブックマーク」も「▼PC」の項目のようにノードのあるツリー形式にする(登録したフォルダをブック?として扱うのではなく、そのフォルダを起点としたツリーにする)ことはできないでしょうか?

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
  29. Betaの不具合報告。
    本棚の階層移動がRight、Leftでできなくっている。
    Canaryまでは可能だったのでBeta特有の不具合だと思われる。

    返信削除
    返信
    1. ご報告ありがとうございます。
      しかしながら、こちらでは現象を確認できませんでした。
      設定の「パネル」ページの「サイドパネルでの左右キー有効」はONになってますでしょうか。
      Beta1122からZIP版の設定ファイルの保存場所がProfileフォルダーにまとめられました。このため、もし上書き更新していた場合はこれまでの設定ファイルが読み込まれませんので、その可能性も考えられます。

      削除
  30. ページリスト上の最後のページがプレイリスト登録されている場合、ページリストのスクロールがおかしくなることがあるようです。
    ページリスト上の要素の高さがプレイリストマーク分増えることと関連がありそうです。
    いずれの症状も、正式版(39.5)、Canary(1113)、Beta(1122)すべてで再現します。


    ■ 症状1
    ページリストをマウスホイールでスクロール操作していくと、スクロール終端直前でバウンドする(少し上に戻る)

    名前表示:OFF でバウンド量が増えて、場合によっては最下部に到達できなくなることもあるようです。
    スクロールバードラッグでも終端付近の挙動がおかしくなるようです。

    <前提となるページリストパネルの設定>
    - ウィンドウスタイルがフローティング(nv.PageList.IsFloating === true)
    - リスト項目のスタイルがサムネイル表示(nv.PageList.Style === 'Thumbnail')

    <条件>
    - ページリストがスクロールできる分のページ数があるブックを開いている
    - ページリスト上の最後のページがプレイリスト登録されている(プレイリストマークが付いている)


    ■ 症状2
    ページリストパネルウィンドウを開いた際に、ページリストの表示位置がズレていることがある(現在ページが表示範囲外になる)

    名前表示:ON の場合は再現しなくなるようです。
    「メニュー > ページ > サブフォルダーを読み込む」をONにする等でページ数を稼いだ上で、全体の20%程度のページ数以降のページを開いている場合に再現しやすいようです。

    <前提となるページリストパネルの設定>
    - ウィンドウスタイルがフローティング(nv.PageList.IsFloating === true)
    - リスト項目のスタイルがサムネイル表示(nv.PageList.Style === 'Thumbnail')
    + 設定 > パネル >パネルリスト項目 > リスト項目のサムネイル表示 > 名前を表示する、がOFF(nv.Config.Panels.ThumbnailItemProfile.IsTextVisible === false)

    <条件>
    - ページリストがスクロールできるページ数があるブックを開いている
    - ページリスト上の最後のページがプレイリスト登録されている(プレイリストマークが付いている)
    + 一定以上のページ数(詳細不明。300ページ超?)のブックを開いている
    + メインビュー上の表示中ページが単ページ

    返信削除
    返信
    1. ご報告ありがとうございます。
      現象を確認しました。修正します。

      削除
  31. Beta版についての報告です。
    「指定ページに移動(JumpPage)」コマンドを引数なしで実行した際に表示される入力ダイアログの初期値(規定値)が、1ページ分ズレているようです。

    <nv.Command.JumpPage.Execute() のダイアログの初期値>
    正式版(39.5): 現在のページ番号
    Beta版(1122): 現在のページ番号 - 1 ・・・インデックス番号?

    返信削除
    返信
    1. ご報告ありがとうございます。
      現象を確認しました。修正します。

      削除
  32. いつもありがとうございます。
    Beta版についての報告です。
    各ブック個別に「基底スケール」と「自動回転」が記憶できるようになったことと関連していそうな内容になります。

    1. ナビゲーターパネル上のスライダーについて
    パネル上の設定項目「基底スケール」「回転」に対してアイコンクリックや数値入力で値を変更した場合、スライダーのつまみ位置が変化しないようです。
    同じナビゲーターパネル上の「スケール」は、問題なくつまみ位置が追随します。

    2. スクリプトマニュアル上の BookConfigAccessor の項目について
    「自動回転:AutoRotate」のEnum(AutoRotateType)について記載が漏れているようです(クリックしてもジャンプできない)。

    3. nv.Book.Configの項目について
    nv.Config.BookSetting と違って、nv.Book.Config には「基底スケール:BaseScale」が無いようです。
    (「メニュー > ページ(P)」のドロップダウンリスト項目と関係している?)


    上記と合わせて、パノラマモードを含めた「ブック毎の設定」にまつわる提案があります。
    ブック毎の設定項目が増え(History.json、Bookmark.json のファイルサイズ微増、Default/Policy要整備)、アドレスバー右脇にボタンを追加する内容になります。
    コードを読んでいるわけではないので、気ままに無茶なことを書いてしまっている可能性もあります。。。

    1. パノラマモード設定の整理
    現状パノラマモードは、nv.Book.Config.ViewPageSize=3 / nv.Config.BookSetting.PageMode="Panorama" として表現されていて、パノラマモード時の2ページ表示は nv.Book.Config.IsTwoPagePanorama=true として表現されています。
    nv.Book.Config と nv.Config.BookSetting の関係性及び"微妙な違い"の理由についてはよくわかりませんが、下記のように整理できる気がしています。

    - nv.Book.Config.ViewPageSize と nv.Config.BookSetting.PageMode の型や名前をそろえた上で 1ページ/2ページ の2値にする
    - パノラマモード ON/OFF 設定を新設する(ViewPageSize(or PageMode)から分離)
    - パノラマモードでも nv.Book.Config.ViewPageSize(or PageMode) / nv.Config.BookSetting.PageMode(or ViewPageSize) をそのまま参照することで nv.Book.Config.IsTwoPagePanorama を不要にする

    2. アドレスバー右脇にあるボタンの整理(追加)
    - パノラマモード設定の整理と合わせて、パノラマモード ON/OFF ボタンを新設する
    - また、Beta版で新設された「水平/垂直切り替えボタン」の設定項目を、他のボタンと同様に「ブック毎の設定」に含める。
    (他のボタンがブック毎の設定になっているので、アドレスバー右脇のボタンは「ブック毎の設定」に含まれていたほうが自然に見えます)

    返信削除
    返信
    1. ご報告ありがとうございます。修正します。

      > 1. パノラマモード設定の整理
      当初はそのような実装を目指していて、内部的にもほとんどそのような実装になっています。ですが、実装しているうちに他のページモードとの差異が微妙になってきて(横長分割ベージにしてるのに連結表示?繋げてページ表示するのに2ページ?)独立したページモードにして、1ページ、2ページ、たくさん、というモード区分にしています。
      現状では操作感がけっこう違うのでそこで差異がはっきりするのかもしれませんね。ちょっと考えてみます。

      削除
    2. お返事ありがとうございます。
      ページの連結や分割の取り扱い上、モードを別にしてるってことなんですね。

      パノラマ表示を含め、Beta版は各パネルの検索機能や水平連結機能がとても便利に感じました。
      正式リリースが楽しみです

      削除
    3. Beta1201 でパノラマモード設定を別にしてみました。それほど違和感はないかと。

      削除
    4. お返事遅くなってすいません。。。
      先ほど正式版(40.0)をインストールして確認しました。
      下記アドレスバー脇の新規ボタン(に対応する設定)は「ビューア側で保持」する判断ということで納得しました。
      - nv.Config.Book.Orientation
      - nv.Config.Book.IsPanorama

      ありがとうございました!


      削除
  33. Beta版の(おそらく)バグ報告です。 (Beta 1201)
    スライドショー時に、マウス操作によってページ移動を行った場合にタイマーカウントがリセットされず、設定した切り替え間隔秒数を待たずにページが進んでいってしまうようです。
    (例えばスライドショーを10秒間隔に設定して7秒後にマウスホイール下で次のページに進むと、次ページは3秒しか表示されない)

    正常にタイマーがリセットされる挙動
    - マウスカーソル移動 (設定 > マウスで表示間隔リセット: オン時)
    - キーボード操作全般
    タイマーがリセットされない挙動 (安定版39.5と挙動が異なるもの)
    - それ以外のマウス操作全般
    (ページ上ホイール回転、スライダーのクリックやドラッグ、ページリストのクリック等)

    返信削除
    返信
    1. ご報告ありがとうございます。修正します。

      削除
  34. N字スクロールのまま次ページへ進むのを同じキーで操作し続けられるようにしてほしいです

    返信削除
    返信
    1. 「スクロール+次のページに進む」というコマンドがありますので、そちらにキーを割り当ててください。

      削除
  35. NeeView 40.0 でいくつか気が付いたことを報告します。

    1. ドキュメントの誤記と思われる個所を見つけました

    - 39.0で廃止された nv.Config.WindowTittle 配下の項目が、スクリプトマニュアルの「設定値一覧」の表(の末尾)に復活している
    - スクリプトマニュアルの「設定値一覧」の表にある nv.Config.Book.Orientation および nv.Config.Book.IsPanorama の概要欄がそれぞれ空欄になっている
    - 検索オプションの「検索単位」における /c. の説明が「検索オプション」になっている(正しくは「接続オプション」?)
    誤: 検索オプション(/c.) | 項目オプション(/p.) | 適合オプション(/m.) | キーワード
    正: 接続オプション(/c.) | 項目オプション(/p.) | 適合オプション(/m.) | キーワード


    2. 新たな検索オプション「/bookmark」「/p.bookmark /m.eq true」の挙動についての提案です
    ブックマークパネル or 本棚のフォルダツリー最下部にあるブックマーク、にて表題を検索した場合の結果には「ブックマークフォルダ」が含まれています。
    これを、実際にブックマーク登録されているブックだけを対象(ブックマークフォルダは対象外)にできないでしょうか?
    ねらいとしては「検索オプション > サブフォルダを含める」をONにした状態でブックマークのルートを検索した際に、サクッとすべてのブックマークを抽出できたらいいな、と思った次第です。

    <動作イメージ>
    - /bookmark => 実際にブックマーク登録されているブック(パスが bookmark:\ で始まる項目は含まない)
    - /not /bookmark => 上記以外(ブックマークパネル or 本棚のフォルダツリー最下部にあるブックマーク、においては「ブックマークフォルダ」だけを含む)

    ※一応現状でも、ファイル名として利用できない文字「\ / : * ? " < > |」をブックマークフォルダ名に含めておくことで上記動作イメージそれぞれを実現する検索パターンを記述できるので、もし採用するとしても優先度は低めでかまいません。


    3. 「本棚で検索結果を表示中」 or 「本棚でブックマークフォルダを表示中」、の場合、下記の設定(.NETの正規表現)による除外フィルタが効いていないようです
    これは 39.5 でも同じ挙動ですが、意図したものでしょうか?

    <.NETの正規表現>
    - 本棚: 表示から除外するファイル名のパターン(nv.Config.Bookshelf.ExcludePattern)

    返信削除
    返信
    1. ご報告ありがとうございます。検討、修正します。

      削除