モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

私家版改造MyPaintがなんだかエライことになってきた件

機能つけすぎてわけわからんわ〜という感じになりつつあり… (^^;

github.com

↑なんか比較的カッコいいリンクが作れたので、これで参ります。

当私家版MyPaintでは様々な機能を実験していますが、その中でもひたすらインクツールを改良しまくっています。いや、改良になってればいいんですがね…

正直、誰かいいのを実装してくれないかと「ようすをみている…」のですが

f:id:dothiko:20160211165654j:plain

とりあえず、現在まだ私家版にしかない機能としては

Inktool

  • ノードの複数選択 (ADJUSTフェーズ時に、空白キャンバスでシフトキーを押したままドラッグで枠選択、もしくはCTRLキーを押したままノードをクリック)
  • キャンバス上での筆圧変更 (シフトキー押したままでノードの上で上下もしくは左右にドラッグ)
  • ノードの位置を平均化する (当然ながら選択中のノードにしか効果がない、ノードが一つしか選択されていないときは全体を平均化)

セーブ関連

  • ファイル名末尾にバージョンっぽい番号を付けて保存するインクリメンタルセーブ機能

デバイス関連

  • ペンタブのスタイラスをひっくり返して消しゴムにすると、ツール(Mypaintでは、モードというほうが正しいのかな…)も同時に切り替わる機能。なぜか現時点のmypaintは、ブラシのみでツールは切り変わらない。

アシスト機能

  • フリーハンドの描線を平均化して安定化するスタビライザー機能。 (手ブレ補正を最大にしたよりさらにストロークが遅くなるので、必要なときだけ使うようキーボードでトグルにしました)

次の計画を忘れないようにメモ

さて細かいバグフィックスやモデファイアキーを押下した時の反応なども修正していかねばなりませんね。

それが完璧中の完璧と感じられたら(とてもウッカリさんなワタクシの場合、これでようやく人並みの完成度です)、いよいよ小分けにして(これもまた動作確認して、それもgit merge可能かどうかなど)pull requestしていこうかと思います。

しかしそれ以前に私家版としての次は、超高速セーブか…これは当ブログではすでにMyPaint 1.1の時に実験済みですが、1.2ではautosaveという機能が付いて、これがほぼ同じ仕組みなのです。そして当時嘆いていたdirty tileを得られない件、これはすでに解決しております。だから、基本的には楽勝の筈…

しかし、この機構はautosaveにしか使われず、ドキュメントの保存は今までどおりのものなのですね。

現状のMyPaintの保存は大きく分けて通常のora保存とautosaveです(一枚絵の実質エクスポートは横に置いておくとして)

そこに、「プロジェクト保存」みたいなモードがあれば、いいんじゃないかなぁと…

さて、その他、いくつか手法が考えられます。

  • Mypaint専用のバイナリ保存ファイル形式を作る事。しかし、これはいかにも後々祟る感じがしますね。メンテナンスで。
  • xcfを吐くプラグインを作る!これは悪くないですが、Source atopなどはどうするのか?(勝手に付けたのをgimpで読み込まれるとクラッシュするでしょうねぇ…)

うーん、やっぱり「プロジェクト保存」がいいのかも(^^)