Lunascape専用ツールバープラグインの作り方

出典: dev.lunascape.tv

HOME > エクステンション(拡張機能) > プラグイン > Lunascape専用ツールバープラグインの作り方

目次

はじめに

Lunascape専用ツールバープラグインとは、Lunascapeの機能を拡張することができるツールバーです。本項目では、Lunascape専用ツールバープラグインの作成方法について解説します。

解説するLunascape専用ツールバープラグインはC++言語を用いて作成しています。 また、解説中のLunascape専用サンプルツールバープラグインを作成するには、Visual Studio .NET 2003もしくはVisual Studio 2005が必要です。

Lunascape専用ツールバープラグイン開発キットのダウンロード

Lunascape専用ツールバープラグイン開発キットをダウンロード(9.5MB)します。
ダウンロードしたファイルを解凍するとLunascapePluginSampleというフォルダが作成されます。

サンプルをビルドしてツールバーを表示する

Visual Studio .NET 2003をお使いの方

  1. LunascapePluginSampleフォルダ内にあるLunascapePluginSample.71.slnファイルをVisual Studio .NET 2003で開きます。
  2. Visual Studioの[ビルド]メニューから[ソリューションのビルド]を実行します。
  3. Visual Studioの[デバッグ]メニューから[開始]を実行します。

Visual Studio 2005をお使いの方

  1. LunascapePluginSampleフォルダ内にあるLunascapePluginSample.slnファイルをVisual Studio 2005で開きます。
  2. Visual Studioの[ビルド]メニューから[ソリューションのビルド]を実行します。
  3. Visual Studioの[デバッグ]メニューから[デバッグ開始]を実行します。
※Standard Edition 以上の製品でしかビルドできません。

ビルドしたツールバーを表示する

起動したLunascapeから[表示]-[ツールバー]-[Lunascapeツールバープラグインサンプル]を選択します
画像:LunascapeToolbarPlugin001.jpg

Lunascape上にビルドしたツールバーが表示されます。
画像:LunascapeToolbarPlugin000.jpg

ツールバー上にある[LunaTV]ボタンをクリックするとLunascape上でLunaTVが新規タブで開かれます。

オリジナルツールバープラグインの配布

サンプルを元にカスタマイズしたオリジナルのツールバープラグインを、Lunascapeプラグインとして配布するための手順について解説します。

IDの変更

サンプルであらかじめ付与されたIDをそのまま利用してしまうと、他の人がサンプルを元に作成したプラグインのIDと重複してしまう可能性があります。そこで、以下の2つのファイルを手順に従い変更します。

  • ToolBarSample.idl
  • plugin.config

画像:LunascapeToolbarPlugin002.jpg

ToolBarSample.idlの修正

Visual StudioからToolBarSample.idlを開きます。

  /////////////////////////////////////////////////////////////////////////////
  // coclass SampleToolBar

  [
#ifdef _DEBUG
    uuid(1628BD32-A839-4b87-BAEB-E1204D988CAC),
#else
    uuid(7DB4B117-64EF-460e-B371-F277B8781121),
#endif
    helpstring("SampleToolBar class")
  ]
  coclass SampleToolBar
  {
    [default]	interface IObjectWithSite;
  };

の行を以下のように変更します。

  /////////////////////////////////////////////////////////////////////////////
  // coclass SampleToolBar

  [
    uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx),
    helpstring("SampleToolBar class")
  ]
  coclass SampleToolBar
  {
    [default]	interface IObjectWithSite;
  };

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxの部分を[ツール]-[GUIDの作成]で作成したGUIDで書き換えてください。

plugin.configの修正

Visual Studioからplugin.configを開きます。

<?xml version="1.0" encoding="UTF-8" ?>
<plugin
  configVersion = "1.0"
  pluginVersion = "2.0.0.0"
  creator="Lunascape Co.,LTD."
  creator_jpn="Lunascape株式会社"
  publisher="Lunascape Co.,LTD."
  publisher_jpn="Lunascape株式会社"
  link="http://www.lunascape.jp/"
  pluginversionsUrl="http://plugin.lunascape.jp/config/
   {E1140723-C600-466c-B5D8-E8D6B4C7B716}/pluginversions.config"
  containerType="{14550EA4-0433-4d47-A48E-C21FDE8F1F5E}"
  guid = "{E1140723-C600-466c-B5D8-E8D6B4C7B716}"
  >
  <component
    minContainerVersion = "4.*"
    maxContainerVersion = "5.*"
    targetContainerVersion = "5.1.4.5"
    type = "{2BAB14FF-6985-4de6-AB72-1D77FB4CA405}"
    modulePath = "ToolBarSample.dll"
    name = "Lunascapeツールバープラグインサンプル"
    icon = "plugin.ico"
    clsid = "{7DB4B117-64EF-460e-B371-F277B8781121}"
  />
</plugin>

5行目~8行目を配布者の製作元と配布元で書き換えます。
9行目のlinkを配布者のサイトで書き換えます。
10行目と12行目の{E1140723-C600-466c-B5D8-E8D6B4C7B716}の部分を [ツール]-[GUIDの作成]で新規に作成したGUIDで書き換えます。
20行目の name にプラグインの名称を指定します
22行目のclsidをToolBarSample.idlの修正で作成したGUIDで書き換えます。

プラグインのパッケージ化

Visual Studioで[Release]構成をビルドします。
出力ディレクトリ内の

  • 画像:Lunascape_plugin_framework_config_file.gifplugin.config
  • 画像:Lunascape_plugin_framework_dll_file.gifToolBarSample.dll

をplugin.zipというファイル名でzip形式で圧縮すればプラグインのパッケージ化は完了です。
出力ディレクトリとパッケージ化するファイルの構造は以下のとおりです。

画像:Lunascape_plugin_framework_folder_close.gifLunascapePluginSample
  画像:Lunascape_plugin_framework_folder_close.gifToolBarSample
    画像:Lunascape_plugin_framework_folder_close.gifbin
      画像:Lunascape_plugin_framework_folder_close.gifUserSetting
        画像:Lunascape_plugin_framework_folder_close.gif2.0
          画像:Lunascape_plugin_framework_folder_close.gifplugins
            画像:Lunascape_plugin_framework_folder_close.gif{e1140723-c600-466c-b5d8-e8d6b4c7b716}
              画像:Lunascape_plugin_framework_config_file.gifplugin.config
              画像:Lunascape_plugin_framework_dll_file.gifToolBarSample.dll

パッケージ化したzipファイルは以下のような構造になります。

  画像:Lunascape_plugin_framework_folder_close.gifplugin.zip
    画像:Lunascape_plugin_framework_config_file.gifplugin.config
    画像:Lunascape_plugin_framework_dll_file.gifToolBarSample.dll

画像:Lunascape_plugin_framework_folder_close.gif{e1140723-c600-466c-b5d8-e8d6b4c7b716}フォルダ自体をzipファイルに含めてはいけません。
下は誤ったパッケージの例です。

  画像:Lunascape_plugin_framework_folder_close.gifplugin.zip
誤り→画像:Lunascape_plugin_framework_folder_close.gif{e1140723-c600-466c-b5d8-e8d6b4c7b716}
        画像:Lunascape_plugin_framework_config_file.gifplugin.config
        画像:Lunascape_plugin_framework_dll_file.gifToolBarSample.dll

HOME > エクステンション(拡張機能) > プラグイン > Lunascape専用ツールバープラグインの作り方