CustomScript

ページ

2019年5月6日月曜日

画像ビューアー 「NeeView」34.0 更新しました

  • .NET Framework 4.7.2
  • WPF
画像ビューアー NeeView を 34.0 に更新しました。

34.0

(2019-05-06)

メモリ&パフォーマンス

設定に「メモリとパフォーマンス」ページ追加。メモリ関連の設定をここに集約しました。(設定 > メモリとパフォーマンス)
  • ブックのキャッシュメモリ容量設定追加。画像をキャッシュし、再表示を高速化します。
  • 先読みをページ数指定に変更、キャッシュメモリ容量の範囲内で先読みを行います。
  • ソリッド圧縮ファイルの事前展開先をメモリにする設定追加
  • ソリッド圧縮ファイル事前展開の判定サイズを展開後のサイズで計算するようにした

ブック挙動の改善

  • GIFアニメページ切替時の暗転を軽減
  • 動画やGIFファイルを高速で切り替えたときに反応が遅くなる現象の軽減
  • リサイズフィルター適用時に画像切り替えが見える現象を軽減

ページの種類の追加

  • ブックに含まれるブック(フォルダー、圧縮ファイル)をブックページとして表示可能になりました。(設定 > 環境 > ページになるファイルの種類)
    • ブックページにはブックのサムネイルが表示されます。ダブルクリックすることでそのブックを開くことができます。
    • ページリストのブックページにはフォルダーアイコンが表示されます。ダブルクリックすることでそのブックを開くことができます。
  • SVGファイル対応 (設定 > 画像)

ページ設定刷新

  • 新しいページ設定。設定項目毎の挙動を1つの設定ページにまとめました。(設定 > ページ設定)

ページ移動コマンド追加

  • 「前のフォルダーに移動」「次のフォルダーに移動」コマンド追加。並び順が名前順である場合に限り異なるサブフォルダーの先頭ページに移動します。

ブック移動コマンド追加

  • 「前に戻る(Alt+Left)」「次に進む(Alt+Right)」 は、シンプルな本の履歴を遡ります。このため、同じ本を開くことがあります。「履歴リスト」とは別の情報です。
    • アドレスバーの左矢印、右矢印ボタンに対応します。今までは履歴リストの移動だったので、挙動の変更になります。
    • 履歴リストの移動コマンドは「前の履歴に戻る」「次の履歴に進む」に名前変更されました。
  • 「親のブックを開く(Alt+Up)」は、現在のブックの上位階層をブックとして開きます。
    • アドレスバーの上矢印ボタンに対応します。
  • 「このブックを開く(Alt+Down)」は、ページがブックページである場合にそのブックを開きます。

本棚

  • フォルダーサムネイルはサブフォルダーの画像からも検索するようにした
  • 圧縮ファイルのディレクトリ階層単位の展開に対応 (設定 > 環境 > 圧縮ファイルの扱い)
  • 本棚で隠しファイルを表示する設定追加 (設定 > 本棚 > 詳細)
  • 検索ボックスでIME入力中もインクリメンタルサーチが効くようにした
  • 検索オプション追加
    • /ire 大文字小文字を区別しない正規表現検索
    • /since/until 日時範囲指定。詳細は検索オプションヘルプを参照してください。 (ヘルプ > 検索オプションヘルプ)

プレイリスト

プレイリストは、ファイルパスをリスト化したものです。フォルダー、圧縮ファイル、画像ファイル等すべてのファイルがリスト化できます。
本棚で開けばフォルダーの一種として動作し、本として開けばページになります。
  • 複数ファイルをまとめてドロップしたときには一時的なプレイリストとして表示されます。
  • 起動引数として複数ファイルを指定した場合も一時的なプレイリストとして表示されます。
  • 本棚の状態をプレイリストファイル .nvpls として保存できます。(本棚の詳細メニュー > プレイリストを保存)
  • .nvpls ファイルのフォーマットは単純なJSON形式になっているため、メモ帳でも編集可能です。

画像操作

  • 回転、拡縮、反転の中心設定に「カーソル位置」を追加、個別に設定できるようにした (設定 > 画像操作全般 > ビュー操作)
  • ドラッグアクションに「回転(スライド式)」を追加 (設定 > マウス操作 > ドラッグ操作設定)
  • 画像のドラッグ移動制限は回転とスケール変更によって解除されるようになりました。
  • 自動回転コマンドを「自動左回転」と「自動右回転」の2つのコマンドに分離しました。

ウィンドウ外観

  • メニューのダークテーマ対応。全体のテーマとは別に設定。 (設定 > 表示全般 > テーマ)
  • タイトルバーを非表示にしたときのウィンドウ定義整備。枠の種類は「なし」と「標準」のみに変更。
  • タイトルバーを非表示にしたときにタイトル文をメニューバー余白に表示するようにした
  • メインメニューをハンバーガーメニューに変更できるようにした (設定 > 表示全般 > 詳細設定)
  • 背景に黒チェック模様追加

Susieプラグイン

通常版の NeeView でもSusieプラグインが使用できます。ただし64bitOSでは TORO氏提案の64bit版Susieプラグイン形式(.sph) のみの対応となります。 64bitOSで標準のSusieプラグイン(.spi)を使用する場合はこれまで通り NeeVewS をご使用ください。
  • 64bit版Susieプラグイン(.sph)対応
  • Susieプラグインを使用しないときはプラグインファイルにアクセスしないようにした
  • Susieプラグイン毎の拡張子設定追加

その他

  • ブック読み込み中はアドレスバーの再読込ボタンが閉じるボタンに変更されます。
  • サイドパネル自動非表示時でウィンドウ外にカーソルが移動したときも非表示にするようにした
  • 動画スライダーのホイール対応
  • メニューの「その他(O)」を「オプション(O)」と「ヘルプ(H)」に分割
  • 設定ウィンドウを開き直したときに前回の設定ページを表示するようにした
  • コマンド設定ページにコマンド説明文も表示するようにした
  • パネルリスト項目の補足パス表示形式統一、設定で標準表示との切替可能 (設定 > パネルリスト項目 > コンテンツ表示)
  • 画像の解像度情報を反映する設定追加。アスペクト比が画像情報通りになります (設定 > 画像)
  • 「アニメーションGIFを再生する」「拡張子が不明なファイルを画像ファイルとみなす」設定を画像対応形式ページに移動 (設定 > 画像)
  • ページマークリストのパス順の設定を詳細メニューに追加 (ページマークリストの詳細メニュー > パス順)
  • タイトル文字用キーワードに $PageL, $PageR を追加 (設定 > ウィンドウタイトル)
  • 更新履歴をパッケージに含めるようにした

廃止された設定

  • 「メモリ管理をシステムに任せる」設定を廃止。
  • 7-Zipの「全て事前展開する」設定廃止。
  • 自動サブフォルダー「ページ外ファイルも含めて判定する」設定廃止
  • 読み込み中のページ表示にサムネイル画像で代用する設定を廃止。前のページを表示し続ける、ダミー表示にするかの2択になります。


メモリの潤沢な環境向けの設定が増えています。

ブック移動系コマンド(Alt+上下左右)が追加されたり、ますます操作系が混沌としている自覚はありますが、シンプルさよりも手段の多さということで。

15 件のコメント:

  1. どうもお世話になってます
    .sph対応になったのですね
    残念ながら.sphはまだ数が少ないので
    NeeVewSをメイン使用したいと思いますが
    確か64bit版Susieプラグインは.spiの物も幾つかあったと思います
    https://sites.google.com/site/riostoolbox/zippla/downloads
    など(他にもあったはずですが思い出せません)
    少しでも足しにしたいので64bit.spiも対応も
    ご検討よろしくお願いします

    返信削除
    返信
    1. ご要望ありがとうごさいます。
      64bit版でも通常の.spiを使えるようにする研究を進めております。うまくいけばこちらに移行する計画です。

      削除
  2. 待望のメジャーバージョンアップ、ありがとうございます。
    アニメgifの挙動、素晴らしいです。対応していただき感謝しています。
    他にもフォルダ移動や設定の、痒い所に手が届く改善がうれしいです。

    要望なのですが、フォルダー移動の際に、rootのファイルを優先して表示させたいです。
    現在の挙動と選択できるようにしていただけるとありがたいです。

    バージョンアップを重ねるごとにこのアプリから離れられなくなっています。
    作者様自身の趣味の範囲で無理をせず、続けていただけると嬉しいです。

    返信削除
    返信
    1. ご利用、ご要望ありがとうございます。
      実装を検討いたします。

      削除
  3. 34.0正式版のリリースありがとうございます。
    早速使ってみたのですが、下記の条件でエラーが発生したので報告します。
    (33.3では同様のエラーは発生していません)

    1)
    マルチモニタ環境において、タイトルバーを非表示(表示(V)→タイトルバー)にした状態で
    メインモニタ以外のモニタにウィンドウを移動させる。
    (或いは逆に、メインモニタ以外のモニタにウィンドウを置いた状態でタイトルバーを非表示にする)

    2)
    「ページの終端を越えて移動しようとした時の挙動」(設定→ブック→移動)を「次のブックに移動」にした状態で
    ページ送り操作によって次のブックに移動する。

    返信削除
    返信
    1. 不具合報告ありがとうございます。現象を確認しました。
      2)の動作をするだけでエラーになります。
      修正いたします。

      削除
    2. さっそくの修正ありがとうございます。

      そして、紛らわしい書き方ですいません...
      1)、2)は手順ではなく個別のエラーになります。

      1)について改めて確認頂けるとありがたいです。

      削除
    3. 1) ですが、こちらの環境では再現できておりません。
      エラーログの出力があるエラーでしょうか。エラーログがありましたらお手数ですがログを以下のページからバクレポートの添付ファイルとして投稿していただけると助かります。

      https://bitbucket.org/neelabo/neeview/issues/new
      (アカウント不要で投稿できます)

      エラーログがない場合は、どのようなエラー状態になるか、OSはなにか、zip版かmsi版か等の追加情報をいただけるとありがたいです。

      削除
    4. エラーログから調査したところ、なかなか根深い問題のようです。

      試しに対策した検証版を NeeViewCanary.zip としてアップしました。
      こちらで動作をご確認いただけると助かります。

      https://bitbucket.org/neelabo/neeview/downloads/NeeViewCanary.zip

      2つの違うタイプの対策版が入っています。
      - NeeViewTestA.exe
      - NeeViewTestB.exe

      NeeViewTestBのほうが強めの対策を入れているのですが、ウィンドウ操作に影響が出る可能性があります。

      あと、追加でご確認いただけるとうれしいのですが、
      - NeeViewS での挙動はどうでしょうか。64bit特有の問題のようですので、おそらくNeeViewSでは問題ないと思われます。
      - LogicoolのSetPointソフトウェアを使用しておられますでしょうか。このソフトを使用しているときもこのエラーが発生する可能性があるようです。もしかしたら最新版にすることで動作が変わるかもしれません。

      削除
    5. 33.3では問題なかったとのことですが、設定の「表示全般」>「タイトルバー非表示でのウィンドウ枠」が「枠線」の状態で問題は発生していないという認識でよろしいでしょうか。

      削除
    6. 検証版の作成ありがとうございます。
      テスト結果を報告します。

      [x] NeeViewTestA.exe - 送付したログと同じエラーが発生
      [o] NeeViewTestB.exe - エラー発生せず
      [o] NeeViewS.exe - エラー発生せず

      NeeViewTestB.exeで一通りウインドウ操作(最大化/最小化/全画面/サイズ変更/スナップ)をしてみましたが
      懸念されている影響は特になさそうでした(従来から変化したところはなさそうです)

      -
      Logicoolの「SetPointソフトウェア」は使用していません。(インストールもしていません)
      マウス関連のユーティリティとして「X-Mouse Button Control」を入れていますが
      当該ユーティリティを終了させた状態であっても本件エラー改善には寄与しませんでした。

      -
      33.3(以前含む)では「タイトルバー非表示でのウィンドウ枠」は「システム標準」で使用していました。(変更せずに使用)
      改めて各設定でどうなるかテストしてみたところ、33.3においても「システム標準」以外ではエラーが発生しました。
      ただし、エラーログの内容は送付したものと微妙に異なるものでしたので、参考までに貼っておきます。

      33.3(zip)/34.1(msi)/TestA/TestB
      [o/-/-/-] システム標準
      [x/x/x/o] なし
      [x/x/x/o] 枠線

      ------------------------------------------------
      2019/05/08 20:31:34

      ExceptionType:
      System.OverflowException
      ExceptionMessage:
      算術演算の結果オーバーフローが発生しました。
      ExceptionStackTrace:
      場所 System.Windows.Shell.WindowChromeWorker._HandleNCHitTest(WM uMsg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      場所 System.Windows.Shell.WindowChromeWorker._WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      場所 System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      場所 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      場所 MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
      場所 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
      場所 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
      ------------------------------------------------

      削除
    7. 検証ありがとうございます!
      次のマイナーバージョンアップはTestBの修正を反映したものにしたいと思います。
      他の修正もありますのでリリースはもう少しかかりそうです。

      削除
    8. お返事ありがとうございます。
      次回の更新を楽しみにしています(^^)

      それから、ウィンドウリサイズ操作に関して下記2件の報告があります。
      これらは34.0以降(TestB含む)に共通した挙動なので、懸念されているTestBの影響ではなさそうです。

      また、前述のエラー報告とは異なり、これらは(エラーではなく)「33.3から変化した挙動」に過ぎませんが
      できれば制限がないほうが好ましいのかな、と思って書かせてもらいました。
      (個人的にNeeViewでウィンドウ枠をつかんだリサイズ操作をほとんどしないので、正直あまり気になりませんが...)

      1) 「メニューバーを自動的に隠す」にした状態でタイトルバーを非表示にすると
      下記のとおり、ウィンドウ枠の表示設定に応じてウィンドウ枠をつかんだリサイズ操作が制限されてしまうようです。

      ウィンドウ枠:なし - すべてのウィンドウ端でリサイズ操作ができない
      ウィンドウ枠:標準 - 右端/下端/右下端 でのリサイズ操作ができない


      2) メニューバーを常時表示状態、タイトルバーを非表示、ウィンドウ枠をなし に設定すると
      ウィンドウ右上のウィンドウコントロール(_□×)にかかるウィンドウ枠をつかんだリサイズ操作ができないようです。

      削除
    9. 不具合報告ありがとうございます。
      現象を確認しました。修正いたします。

      削除
    10. 34.2で本件修正されていること確認しました。
      ありがとうございました。

      削除