めも

メモ.

MacでのCLIPSTUDIOプラグイン開発時のメモ

情報が少なかったのとプラグインも少なかったので後継の方の役に立てればと思いメモします。ただし、最新の情報はCLIPSTUDIO SDK配布サイト、および同封のドキュメントを参照してください。

関連リンク

公式SDK・ドキュメント

プラグイン/SDK | CLIP STUDIO PAINT

pdfドキュメントが添付されています。

他の開発例

3〜5年前の記事はいくつか見つけられました。 これらを参照にしつつ進めたので、自分もメモを残そうと思います。

サンプルプロジェクトのビルドまでの流れ

環境の確認

macOS Catalina 10.15.6、Xcode11.7を使用します。 CLIP STUDIOはCLIP STUDIO PAIN EX 1.9.11を使用します。 C++のバージョン確認は

$ c++ --version

Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix

です。

Xcode起動

ダウンロードしたzipファイル内部のプロジェクトファイルをXcodeにて開きます。 Xcode起動>「Open...」>ダウンロードしたzipファイルを展開したものから「FilterPlugin.xcodeproj」を選択します。 開いたファイルはおそらく日本語が文字化けした状態になっているので文字コードを変えてファイルを読み込みなおします。「Command+Option+1」でText Settingを開いてText Encodingの指定を「Japanese(Shift-Jis)」に変更して「Reinterpret」をクリックすることでファイルを別の文字コードで読み込みなおします。ただし、自分の環境ではこの指定をしても文字化けが修正されず、VsCode上にてファイルをShift-Jisで読み込みUTF-8で保存し直すことで文字化けを修正しました。

FilterPluginConfig.xcconfigの編集

プラグイン例では libstdc++ が使用されていますが、Xcode10以降では libstdc++ を使用したプロジェクトがビルドできません。

CLANG_CXX_LIBRARY = libc++

と指定してください。

自分の環境では

MACOSX_DEPLOYMENT_TARGET = 10.6

となっている箇所を

MACOSX_DEPLOYMENT_TARGET = 10.15

に変更しました。最終的に FilterPluginConfig.xcconfig の内容は

GCC_VERSION =
SDKROOT = macosx
MACOSX_DEPLOYMENT_TARGET = 10.15
ARCHS = $(ARCHS_STANDARD_64_BIT)
VALID_ARCHS = x86_64
ENABLE_OPENMP_SUPPORT = NO
WRAPPER_EXTENSION = cpm
GCC_C_LANGUAGE_STANDARD = gnu99
CLANG_CXX_LANGUAGE_STANDARD = gnu++98
CLANG_CXX_LIBRARY = libc++

として、この状態でビルドが成功しました。

プラグインをCLIPSTUDIOで使用する

ビルドに成功すると FilterPlugIn/FilterPlugIn/OutputMac/FilterPlugIn/Debug 以下に HSV.cpm が出力されます。このファイルを /Users/{ユーザー名}/Library/CELSYS/ CLIPStudioModule PlugIn/PAINT/以下に配置します。

※配置するフォルダはSDK同封のドキュメントに指定されています

配置後にCLIPSTUDIOを再起動してください。プラグインが無事読み込まれると、以下の画像のように「色調補正>色相・彩度・明度」プラグインが追加されます。

f:id:misos:20200915201136p:plain

独自の機能の追加

C++のテスト環境の構築

直接実装→動作確認は無理がある+製品に載せるものとしてテストは必要だと思われるので、一度MacでのC++の開発・テスト環境を整理します。

opencvを使用したいので Header Search Pathに /usr/local/Cellar/opencv/4.4.0/include/を指定。

その後、/usr/local/Cellar/opencv/4.4.0/lib/以下のライブラリをXcodeの共有ライブラリに指定します。

次に、Gtestを実行できるようにセットアップします。

cocos2d-xプロジェクトにGoogleTestを導入してみた | GCREST DEVELOPERS BLOG

以降TODO。後ほど追記します。