2012/11/21

DVD Architect Studio 5.0 をアップデートしたらソフトを起動できなくなった

Vegas Movie Studio HD Platinum 10 Production Suite(パッケージ版)から Movie Studio Platinum 12 Suite(ダウンロード版)にアップデートした際、Sound Forge Audio Studio 10.0 や DVD Architect Studio 5.0 もついでにアップデートを行いました。

Sound Forge Audio StudioやDVD Architect Studioは、Buildバージョンが少し上がってる程度です。

■Sound Forge Audio Studioのアップデート
"audiostudio10.0.178.exe"をダウンロードし、実行するとアップデートが行われます。
 新しいシリアル番号を入力することなく使えました。

■DVD Architect Studioのアップデート
  1. "dvdarchitectstudio5.0.161.exe"をダウンロードし、実行するとアップデートが行われます。しかし、実行ファイルが消えて、DVD Architect Studioソフトウェアを起動できなくなりました
  2. 仕方がないので、コントロールパネルからアンインストールを行い、再びインストーラを起動してインストールを行うことで正常にアップデート(実際にはインストール)できました。
  3. 再インストールの形になったので、新しいシリアル番号を入力して使えるようになりました。

Sound Forge Audio StudioやDVD Architect Studioの2つのソフトウェアをアップデートする利点はバグ修正ぐらいだと思いますが、Vegas Movie Studio HD Platinum 10 Production SuiteからMovie Studio Platinum 12 Suiteへのアップデートを行う利点は64bit対応など大きいものがありますのでそちらはオススメです。


2012/11/06

[Google App Engine Java] Bad version number in .class file エラーを解決する

Google Plugin for Eclipse を利用してプロジェクトを作成した際、java.lang.UnsupportedClassVersionError: Bad version number in .class file
が発生したので、その修正方法をさっくりと記します。


■環境
  • Windows 7 Professional 64bit
  • eclipse 3.6.2
  • Google App Engine Java SDK 1.7.3 Bundle for Eclipse
  • Google Plugin for Eclipse 3.6(3.1.1.v201210291355-rel-r36) 

■解決法
  1. 「プロジェクト」を右クリックし、「プロパティ」を選択します。
  2. 「Java コンパイラー」を選択し、「コンパイラー準拠レベル」が1.6であることを確認します。下の方にエラーが出ていたら、その指示に従ってエラーを修正します。
  3. 今回の場合、Java のビルド・パスに jre1.5が設定されていたために起こったエラーだったので、ビルド・パスを「インストール済みのJRE[jre1.6]」に変更しました。

以上の手順でエラーを解消しました。

2012/10/29

Google App Engine では M2Crypto は使えない?

Android のアプリ内課金(In-App Billing)はサーバー認証を行うべきだというのは書かれているのですが、その方法は日本語サイトではあまり見かけません(セキュリティに関することなので、出てこないのかもしれません)。
そこで、Google App Engine(GAE) を使って、サーバー認証しようと思いました。GAEではPythonとJavaとGOが利用できるので、今回はPythonで作ろうと思いました。

PHPで作成するなら以下のサイトが参考になります。
In-app Billingでsignatureの検証をサーバサイドで行う - isherの日記
android in-app Billingのサーバ側チェック - 私事ですが……


さて、本題。

環境:Windows 7 Professional 64bit, Python2.7(64bit), App Engine SDK 1.7.2

Python でのサーバー認証の方法は以下を参考に M2Crypto を使用してみましたが、
Verifying signature on android in-app purchase message in Python on Google App Engine - Stack Overflow


File "C:\dev\gae\appName\M2Crypto\__init__.py", line 22, in
ImportError: No module named __m2crypto


と、M2Crypto のインポートエラーが出ます。調べてみると、

python - importing m2crypto to google app engine - Stack Overflow
  m2crypto contains C code and won't work on GAE(C言語を含むm2cryptoはGAE上では動かない。)
 と書かれていました。

■結論
 __m2crypto.pyd はC言語で書かれた拡張モジュール(=pyd)なので、GAEでは利用できないのだと思います。
(が、参考にしたソースは「この方法でできたよ(Here's how i did it)」って書かれてるので、できるのかな~という気はしますが。。)



■余談
Pythonの基礎については以下のサイトでPDFを無料で公開されていますので、こちらも利用しています。
みんなのPython Webアプリ編 | Lindoc

2012/09/08

リストに表示されていないフォントを表示する方法(Windows Live ムービーメーカー 2011)

Windows Live ムービーメーカー 2011で、リストに表示されていないフォントを表示する方法です。


■手順
  1. まずは、キャプションを追加します。(ビデオや写真が入っていない場合は、「タイトル」を追加します)
  2. 追加されたキャプションをダブルクリックします。
  3. 「テキストツール」->「フォーマット」リボンにある「フォント」グループから、現在選択されているフォントの下三角を クリックします。
  4. 下側にある「他のフォントを表示」をクリックし、インストールされているフォントを表示します。 (リストに表示されていないフォントは灰色、表示されているフォントは濃いく表示されています。)
  5. 表示したいフォントを右クリックし「表示」を選択することで、フォントのリストに表示されるようになります。

 以上の手順でリストに表示されていないフォントをリストに表示することができます。

---(2013/12/26追記)
Windows Live Essentials 2012が公開されています。
これをインストールするとWindows Live ムービーメーカー 2012にアップデートされます。
Windows Essentials - Windows Live Essentials をダウンロードする

2011では背景の色と被って見え辛かったテキストが、輪郭をつけれるようになったので、大変読みやすくなりましたので、オススメです。
---(追記ここまで)

2012/07/12

Windows 7上のfirefoxで youtube の動画が見れない

2012年6月のプラグインのアップデートに伴い、youtubeの動画が見れない状況になっていました。

FirefoxにあるIEのレンダリング(IE Tab 2というアドオン)に切り替えると見ることができたので、当初はAdblock Plus や NoScriptなどのアドオンにより見れなくなってしまったと思っていました。が、1カ月経ち、どうしても不便なので調べてみると Adobe Flash Player Plugin によるものと分かりました。
その手順をまとめます。

■環境(参考として)
OS:Windows 7 64bit
ブラウザ:Firefox 13.0.1


追記(2012/07/16) 

いくつか方法がありますので、お好きなものでうまくいくものを試してください。
  1. 最新版11.3.300.262(2012/07/16現在)のプラグインに更新する(私の環境ではうまくいかなかった)
  2. Flash 10.3 にダウングレードする(私の環境でうまくいったのはこれ)
  3. Flash 11.2 にダウングレードする(未検証)

窓の杜 - 【NEWS】「Firefox」でクラッシュする問題を修正した「Adobe Flash Player」最新版が公開
Flash 11.3 がクラッシュする | トラブルシューティング | Firefox ヘルプ

(追記ここまで)

■1の手順
  1. コントロールパネルを開き、Adobe Flash Player Plugin(11.3.300.257)アンインストールします(ブラウザ等は終了しておきます)。
  2. Firefoxを開き、youtube などのサイトを開くと、Adobe Flash Player Plugin 11.3.300.262(2012/07/12現在)を追加するバーが表示されるので、それでインストールを行います。
追記(2012/07/16)
プラグインを追加することなく見れました。


どうもプラグインを再インストールしたら見れるようになったと思っていましたが、勘違いでした。追加したあとには「An error occurred. Please try again later.」と表示されて見れなくなっていました。


プラグインを追加して見れたと勘違いしたのは追加しようとしているときに再生が行われたからだと思います。
プラグインを追加しないと「このコンテンツを再生するにはプラグインが必要です」と表示されることがありますが、少し待つと見れました。


この手順でうまくいけばいいのですが、私の環境ではうまくいきませんでした。

■2または3の手順
  1. Flash Player 10.3 または Flash Player 11.2プラグインをダウンロードする 
  2. コントロールパネルを開き、Adobe Flash Player Plugin(11.3.300.257)アンインストールします(ブラウザ等は終了しておきます)。
  3. ダウンロードしたプラグインのインストーラを起動してインストールを行います。
(追記ここまで)
 
以上の手順で youtube が見れるようになりました。


以前にも、 Windows XP 64bit Edition 上で似たようなことがありました。
アウトプットメモ: 最新のFlashにアップデートしたらWindows XP 64bit Editionのブラウザ上でフラッシュが見れなくなった


■参考サイト
FirefoxでYouTubeが見れない不具合 - 天球日記

2012/07/09

eclipseをよく使う人がMicrosoft Visual C# 2010 Expressのコード・フォーマットを変更するとしたら

普段、eclipseをよく使ってJavaのコードをよく書くのですが、今回Microsoft Visual C# 2010 Expressを使用するにあたり、eclipseのコード・フォーマットに近づけたいと思いました。そこで、いくつか設定を行ったのでまとめます。

なお注意点は、eclipseのコード・フォーマットの方もいくつか自分用に変更していて、今回のカスタマイズもそれに倣う形になっています。もし、あなた自身や所属する組織で決まったフォーマットがないのであれば、参考にしてみてください。
また、今回のカスタマイズはVisual C# 2010 Expressの初期設定の状態から変更しています。


■改行や行間をカスタマイズする

ツール->オプション->テキストエディター->C#->書式設定

->改行
    「中かっこの改行オプション」のチェックをすべて外す。
    「キーワードの改行オプション」のチェックをすべて外す。
    「式の改行オプション」はそのまま。
->行間
    メソッドの呼び出しのスペースを設定する
        ・「引数リストのかっこ内にスペースを挿入する」にチェックを入れる。
    その他のスペースオプションを設定する
        ・「式のかっこ内にスペースを挿入する」にチェックを入れる。    ←やめました(2012/10/20 update)
        ・「制御フローステートメントのかっこ内にスペースを挿入する」にチェックを入れる。
        ・「キャストの後にスペースを追加する」にチェックを入れる。
    折り返し
        ・「ブロックを単一行に配置する」のチェックを外す。
        ・「一行に複数のステートメントとメンバー宣言を表示する」のチェックを外す。


■起動時に最後に読み込んだところから再開できるようにする
  1.  ツール->オプションを開き、「すべての設定を表示」にチェックを入れる。
  2. ->環境->スタートアップ->スタートアップ時を「最後に読み込んだソリューション」に変更する。

■行番号を表示する
  1. ツール->オプションを開き、「すべての設定を表示」にチェックを入れる。
  2. ツール->オプション->テキストエディター->すべての言語->全般->表示の「行番号」にチェックを入れる。

以上です。
とりあえず、こんな感じで設定しました。また何かあれば追加しようと思います。

■余談
以下の本は、クラスの継承などはもちろんのこと、C# や Visual Studio の歴史をざっくり知ることができ、他言語を習得している方で C# やVisual Studio 2010 Expressが初めての方であれば参考になると思います。

2012/05/23

調べたい書籍をAmazonからワンクリックで図書館を検索できるブックマークレット

Amazon や 楽天などで本を探していたとき、もし、その本が近くの図書館に在庫があった場合に無料で借りることができるのは非常に便利だと思ったので、ブックマークレットを使ってワンクリックで調べられるようにしました。

ブックマークレットとは、
ブックマークレット (Bookmarklet) とは、ユーザーがウェブブラウザのブックマークなどから起動し、ウェブブラウザで簡単な処理を行う簡易的なプログラムのことである。
ブックマークレット - Wikipedia

上の説明でも分かりづらいかもしれません。

とりあえず、今回作成したブックマークレットは、Amazon や 楽天で書籍を見ているページのISBN-10(またはISBN-13)をもとに、カーリルという図書館検索サイトの図書館API(OpenURL)を利用し、それをjavascript を用いて開いています。

そのおかげで、Amazon のサイトを見てるときにブックマークレットをワンクリックするだけで自分が調べたい図書館の在庫を確認することができます。

■はじめに
まずはカーリルで「図書館の設定」をクリックし、「お気に入りの図書館」を登録しておきます。
複数登録できるので、県内の図書館を登録しておくとよいでしょう。理由は、県内の図書館であれば、違う図書館からも借りることができる場合があるからです。

■手順
  1. カーリル検索のリンク先を「右クリック」して「リンク先をブックマーク」を選択する
  2. ブックマークツールバーに追加する(と便利です)
  3. Amazon や楽天などで本を探す
  4. 本のページでブックマークツールバーに登録したブックマークレットをクリックする
  5. 新しいウィンドウが開いて図書館の在庫を検索する
以上、firefoxでの手順を書きましたが、IE や Google Chrome の場合も似たようなものだと思います。

よくよく調べたら、同じようなのがありました。
わずかに動作違うので(新しいウィンドウを開くか同じウィンドウで開くかの違い、など)、好きなものを利用すると良いと思います。

■参考サイト
OpenURL for カーリル | カーリル
http://calil.jp/doc/api_openurl.html
GreasemonkeyでAmazonから探せる図書館まとめ - Myrmecoleon in Paradoxical Library. はてな新館
http://d.hatena.ne.jp/myrmecoleon/20070627/1182958284

2012/05/17

Swing を使うなら、おさえておきたい3つの日本語サイト

Swing を使うなら、おさえておきたい3つのサイトを紹介します。
これらのサイトを知っていれば、Swingを扱うことが容易になるでしょう。

Javaの学習ならJavaDrive
http://www.javadrive.jp/

「Javaの学習ならJavaDrive」というトップページにふさわしく、Swingの学習を始めるときにはJavaDriveのSwingの項目を見ると良いです。
使いたい部品(コンポーネント)の一番小さいひな形を使うのでどのメソッドを使えばよいのか、どのパラメータを渡せばよいのかが非常に分かりやすいです。


Java Swing Tips - てんぷらメモ
http://terai.xrea.jp/Swing/

『最も欲しいものはサンプルである』とトップページに書いてあるように、まさにすぐに動作を確認できる実行ファイルがついてあります。jarファイルを実行し、自分の作りたいもののイメージにあっていればソースコードをダウンロードして、自分のプログラムに組み込んでいく。そういったことができます。

JavaDriveで部品の仕組みを学び、それをどうやって使っていくかを学ぶ上で非常に有用なサイトです。

さらに驚くべきことは、現在(2012/05/17)も更新が続いていることです。絶え間なくSwingの新しい使い方を知ることができるでしょう。


Java Swingメモと改造(Hishidama's Java Swing Memo)
http://www.ne.jp/asahi/hishidama/home/tech/java/swing/index.html

新しいことを学ぶ上では、どうしても分からないことが出てきます。また、Swingの仕組みなどさらに突っこんで学ばないと、自分の作りたいものが作れないということが出てきます。

そのときは、Hishidama's Java Memoのサイトを見ると良いでしょう。
トラブルの対処の仕方やSwingをより深く扱う方法が書かれています。

JavaDriveで部品を学び→てんぷらメモで組み合わせ→Hishidama's Java Memoでまとめ→JavaDriveで・・・


以上のサイトにより、皆さんがSwingをよりよく学び、使えるようになれればと思います。

2012/05/16

【Processing】eclipse上での開発でフルスクリーンを行うためのだいたい3つぐらいの方法

■まえおき
Processing(1.5.1)は自前でIDEを持っており、ソースコードの拡張子はpdeです。
中身はJavaなのですが、電子アートやビジュアルデザインを目的に作られたこともあり、簡単にコーディングできる反面、あまりJavaらしい開発(?)ができないと感じています。

そこで、私はPAppletを継承してeclipse上で開発しています。その方法はgoogleで検索すればでてきますので割愛しますが、要点を3つ挙げます。
  1. processing-1.5.1/lib/core.jarをライブラリに読み込む(その他必要がなれば追加する)
  2. PAppletを継承する
  3. 実行はJava アプレットで起動する
■本題 
さて、Processingで開発したものをフルスクリーンで表示したいとき、ProcessingのIDEでは「Sketch」メニュー>「Present」でフルスクリーンで表示することができる(*1)。また、ライブラリとして個人の人が開発したAPIが提供されている。
FullScreen API For Processing

このライブラリは
processing-1.5.1\modes\java\libraries
に配置する。
ライブラリの設定は、Javaプロジェクトを右クリック>プロパティでプロパティを開き、Java のビルド・パスを選択し、ライブラリー>外部 Jar の追加ボタンをクリックし、さきほど配置したライブラリを選択し、OKボタンを押すと追加できる。

以上のステップでfullscreenのAPIが利用できるようになるので、さっそくサンプルと同じように記述してみる。

import fullscreen.*;

FullScreen fullScreen;  @Override
  public void setup(){
    size(640, 480);
 
  frameRate(5);

 
  // Create the fullscreen object
 
  fullScreen = new FullScreen(this); ・・・(*2) 
 
  // enter fullscreen mode
 
  fullScreen.enter();
}


  @Override
  public void draw() {

    // 省略
  }


さて、Java アプレットとして起動すると、(残念なことに)以下のエラーが出る。

Exception in thread "Animation Thread" java.lang.NullPointerException
    at fullscreen.FullScreen.(FullScreen.java:93)
    at fullscreen.FullScreen.(FullScreen.java:108)
    at jp.sample.fullscreen.SampleFullScreen.setup(SampleFullScreen.java:17)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:662)


(*2)で FullScreenのインスタンスを作成している際、FullScreen.javainitメソッドjava.lang.NullPointerException が発生している。

public FullScreen( PApplet dad ){{
  this( dad, 0 );・・・(108行目)
}

public FullScreen( final PApplet dad, int screenNr ){
    super( dad );
    this.dad = dad;
    // 一部省略

    fsFrame = new Frame( dad.frame == null? "":dad.frame.getTitle() );
    fsFrame.setTitle( dad.frame.getTitle() ); ・・・(93行目)
    // 以下省略
}


この93行目のdad.frame.getTitle()java.lang.NullPointerException が発生している。正確には dad.frame がnull である。

この java.lang.NullPointerException が発生しないようにする対策はぱっと思いつくもので2つあると思う。
  1. dad.frame にインスタンスを与える
  2. 93行目を削除し、自分でFullScreenのAPIを再ビルド、fullscreen.jarを作成する(未検証)
 1の方法は実際にやってみてある程度の成果が挙がっている。2に関しては予想した範囲でやり方をまとめる。

■1. dad.frame にインスタンスを与える
(*2) で FullScreen のインスタンスを作成する前に、以下のプログラムを1行追加する

this.frame = new Frame( "" );// ""には文字列を入れてもよい

これで93行目で null ではない(dad は this を参照している)のでエラーが発生しなくなり、フルスクリーンすることができる。
しかし、新しいフレーム ができる・・・ようは2つのウィンドウが起動している状態になるので少しスマートではないのが惜しむところ。動作自体は特に問題はないと思う。

もしかしたら、最初に立ち上がるウィンドウを this.frame に与えればよいかもしれない。


■2. 93行目を削除し、自分でFullScreenのAPIを再ビルド、fullscreen.jarを作成する(未検証)
93行目の行っていることは、フルスクリーンのフレームのタイトルに名前をつけるだけであり、また92行目でタイトルを設定しているので余分な処理である。

FullScreen APIのソースコードは配布されているので、ソースコードをダウンロードし、93行目を削除して再ビルドを行い、fullscreen.jarを作成することで java.lang.NullPointerException は発生しないと推測している。


以上、いずれかの方法でeclipse上でProcessingの開発を行ってもフルスクリーン化することができる。
これでまとめを終わりたいところであるが、その他の方法もあるので少しだけ触れたい。


■3. その他の方法
さて、ここで(*1)を思い出してほしい。ProcessingのIDEは「Present」で fullscreen.jar を使うことなくフルスクリーンを行っている。
したがって、「Present」で行っていることと同じようなアプローチをすればフルスクリーンできることが推測できる。

processing.core.PApplet.java,  processing.mode.java.JavaEditor.java, processing.mode.java.PresentMode.java

などのソースをおっかけてみると良いと思う。
もしくは、自前でフルスクリーンを実装する。以下のサイトを参考にすると良さそう。
フルスクリーンモード  - 人工知能に関する断創録

Processingのソースを解析してみると、上のサイトと同じようなことをやっている(当たり前と言えば当たり前だが)。


■まとめ
1の方法が手軽です。


2012/05/15

SwingのJFrameのアイコンに null を入れるとアプリのGUIが表示されない

SwingのJFrameのアイコンに null を入れるとアプリのGUIが表示されませんでした。


JFrame frame = new JFrame( "title" );
JPanel panel = new JPanel();
URL url = panel.getClass().getResource( "logo.png" );
frame.setIconImage( Toolkit.getDefaultToolkit().createImage( url ) );

■対策
urlに null だった場合、GUIが表示されないままメモリに常駐してしまう。
なので、null チェックを入れておくことでGUIが表示されない状況を防ぐことができる。

if ( url != null ) { frame.setIconImage( Toolkit.getDefaultToolkit().createImage( url ) );
}
else {
  // どうしても固有のアイコンが表示したい場合は別のアプローチでアイコンを設定する
}

■誘因
今回、urlに null が入ってしまったきっかけはpanel.getClass().getResource()を呼び出した際、ダブルクリックでjarを起動する場合と、eclipse上またはコマンドプロンプトから起動する場合で挙動が変わったためでした。

jarファイル内は
  • example.SamplePanel
  • logo.png
というようにexampleパッケージ内にSamplePanelクラスがあり、logo.pngはjarファイル直下に配置してありました。
そして、下のようにlogo.pngを読み込みました。

JPanel panel = new SamplePanel();
URL url = panel.getClass().getResource( "../logo.png" );

この場合、eclipse上で実行を行った場合と、コマンドプロンプト上で
java -cp sample.jar example.SamplePanel

と入力して実行した場合は、GUIも表示されて起動する。しかし、jarファイルをダブルクリックした場合はGUIが表示されないがメモリには常駐している状況が発生する。そして、jarファイルと同じフォルダ上にlogo.pngがある場合、GUIが表示された。
つまり、ダブルクリックした場合とeclipse上での起動の場合の参照位置が異なるようだ。

■実験結果により推測されること(panel.getClass().getResource())

・eclipse上またはコマンドプロンプトから起動する場合
 ・exampleパッケージが起点

・jarファイルをダブルクリックで起動するの場合
 ・jarファイル直下が起点

という違いがあること。
もし、パッケージを使用せずデフォルトパッケージであれば差異は発生ないが、デフォルトパッケージは推奨されていないことからpanel.getClass().getResource()は使用しないのが良いと思う。


getClassLoader()を使用する
ここで、getClassLoader()を使用した場合、
URL url = panel.getClass().getClassLoader().getResource( "logo.png" );

・eclipse上またはコマンドプロンプトから起動する場合、jarファイルをダブルクリックで起動するの場合、ともに
jarファイル直下が起点であった。
このことから、JFrameのアイコンを読み込む場合はgetClassLoader()を使用すると良い。

ClassLoaderについては以下のサイトを参考にしてほしい。

■その他
できれば、res/logo.pngと配置したいのですが、Antを使わずにeclipseの設定のみでできる方法があれば教えてほしいです。

2012/05/12

PhotoshopではなくGIMPで短時間で加工するためのたった一つに特化したTIPS

今月GIMP2.8が公開された中、 もしも、PhotoshopではなくGIMPで加工したいと考えている人に送る、たったひとつの事柄に特化したTIPSをまとめます。

たったひとつというのは、下のサイトではPhotoshopで見開き写真を作るための方法を

見開き写真のつくりかた | Photoshopで加工する | かわいいフォトブック“TOLOT”にパソコン版アプリ登場!!

GIMP2.6(2.8)を使用してできる限り手早く作成する方法です。

まずは、上のサイトで tolot_spread_template.zip をダウンロードして任意の場所に解凍してください。
GIMP2.6や2.8では psd ファイルを読み込むことができます。

対象の画像はデジカメなどで撮れる4:3の比率の写真を前提として考えています。

■手順
  1. tolot_spread_template.psdをGIMPで読み込む
  2. 分割したい画像をドラッグ&ドロップで追加する
  3. 画像のレイヤーを右クリックし、「レイヤーの拡大・縮小(S)」を行う
  4. 2836 の値を入れる。高さは自動で設定されるようにしておく(ここでは高さが 2122 が良いが、近ければ良い。多少切れるのは覚悟。ムリして合わせると画像がひずむ
  5. 「左ページ用画像範囲」レイヤーを右クリックし、「不透明部分を選択範囲(P)」を選択する
  6. 画像のレイヤーを選択し、コピー(Ctrl+C)を行う
  7. 「ファイルメニュー>画像の生成>クリップボードから」を選択し画像を生成する
  8. jpgで保存(※)を行う(サイズは幅1530,高さ2120になっている)。ファイル名は"xxxx_l.jpg"
  9. 「右ページ用画像範囲」レイヤーに対して、4~7の操作を行う(ファイル名は"xxxx_r.jpg"
  10. 両方の画像を生成したら、最初に追加した画像レイヤーを右クリックから「レイヤーを削除(D)」を行う
以上の手順で見開き写真をつくることができる。あとは、2~10を繰り返せばよく、ショートカットキーをいかに使うかで時間短縮できる。
※GIMP2.8はGIMP2.6に対して保存に手間取ってしまう。というのも、GIMP2.6は Ctrl+S で jpg でファイルを保存できるのに対し、GIMP2.8では Ctrl+S は xcf ファイルのみのため、jpg で保存するには Shift+Ctrl+E でエクスポートしなければならない。


作業スピードを求めるためにはアスリートになったつもりでとにかくスピーディに無心にやると良いです。私が1枚の画像を2つに切り分ける作業にかかった時間は2分~3分ぐらいでした。

数枚であればよいでしょうが、しかしながら面倒です。

 もし、見開き写真のために画像を2つに切り分けたい場合は、キリット(仮名)という自動切り分けツールを使用することをおすすめします。
自分用に作ったのですが、なかなか便利なので近いうちに公開したいと思います。公開しました!(2012/06/09追記)
Kilit(キリット) for TOLOT

単純に写真を分割するのではなく本の中央の溝を考慮しているので、実際に本を手にしてみたときにより自然に見えると思います。

2012/05/11

GIMP2.8ではPython2.7が利用できる

GIMPでPython-Fuを利用するためには、Pythonを入れることはもちろん、いくつかのライブラリを入れる必要がある(ライブラリのインストールについては前の記事 PythonのPyGTKなどのライブラリがWindows 7(64bit)にインストールできない  を参考にしてほしい)。

しかし、Python2.7をインストールしている場合、 GIMP2.6のカスタマイズインストールにおいて、 GIMP Python extensionには

"The following Python versions are supported: 2.5, 2.6"

と表示される。
そのため、GIMP2.6ではPython2.7が利用できない

Python2.7をアンインストールし、2.6をインストールすれば解決すると思うが、その手は取りたくなかった。

そして、運が良かったといえる。
今月GIMP2.8がリリースされ、Python2.7に対応していた

■手順
  1. GIMP2.8をサイトからダウンロードする
  2. GIMP2.8をインストールを開始すると、GIMP2.6がアンインストールされたのち2.8のインストール作業が始まる(現時点では英語のみ)

今回、カスタマイズインストールを行うことなくPython-Fuが利用できるようになったが、これは予めPythonやライブラリが入っていたかもしれない。
描画にCairoが使われるようになったらしく(技術者見習いの独り言: GIMP2.8リリース その1)、もしかしたらPython-Fuのライブラリなどを入れなくてもよくなっているかもしれない。

追記(2012/05/12)
Python-Fu>console を起動したら

GIMP 2.8.0 Python Console
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
>>>


のように表示されてたので、私が入れている 

Python 2.7.3(default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32

は呼ばれてないようです。
ということは、GIMP内にあるPythonを利用しているのだと思うので、上の仮説は当たっているかもしれません。
(追記ココまで)


GIMP2.8の雑感:メニューの文字のフォントが変わった模様。 


追記(2012/06/09)
実際にPythonでコーディングを行うにあたっては、ネットで検索して調べるのはもちろんですが、私は「Python クックブック」という本を利用しています。
文字列の操作、ファイルの操作、XMLの処理などなど、行いたい処理について小さくまとまっているので便利です。
プログラミング初心者というよりも、ほかの言語を習得している方向けの本です。

PythonのPyGTKなどのライブラリがWindows 7(64bit)にインストールできない

Gimp2.6のマクロを作ろうと思い、ここを参考にPython-Fuを使うために必要なライブラリ「PyCairo」「PyGObject」「PyGTK」をインストールしようとするも、

"Python version 2.7 required, which was not found in the registry."

 と表示され、インストールできなかった。

上の文字列を検索すると、以下のページが見つかり、その解決策を実行したら無事インストールできたので、詳細は以下のサイトを参考にするとよい。
Yamada Program: Pythonのsetuptools を 64bitマシンにインストール
が、上記サイトが消えた場合も考え、手順をまとめておく。

■手順
  1. regedit を起動する
  2. HKEY_LOCAL_MACHINE¥SOFTWARE¥Python を右クリックし、エクスポートを選択して保存する
  3. 保存した regファイルをテキストエディタで開き、¥SOFTWARE¥Python¥SOFTWARE¥Wow6432Node¥Python にすべて置換する
  4. regファイルをダブルクリックし、レジストリへ登録する

※実際の¥は半角文字ですが、Bloggerだと\になってしまうので全角文字で書いています。

最新のFlashにアップデートしたらWindows XP 64bit Editionのブラウザ上でフラッシュが見れなくなった

最新のAdobe Flash Player 11.2.202.235(2012/04/27現在)にアップデートすると、Firefox 12(もしかしたら当事は11だったかも)でFlashが見れなくなった(Windows XP Professional x64 Edition)。

以前からFlash Player をアップデートしたらFirefoxで見れなくなるのはよくあることで、プラグイン(?)もアップデートすると見れるようになっていた。
……が、今回はプラグインがどうもうまくインストールできない。

Flashのダウンロードサイトにも
: Flash Player は 64 ビット版の Windows XP および Vista をサポートしていません。Flash Player 11 は 64 ビット版の Windows 7 をサポートしています。
のように注意書きされている(以前からあったと思うけど)。

試しに32bit用やwindows 7 64bit用のインストーラを用いてインストールを試みるも、「Unable to load application configuration」と表示されてインストールできなかった。

■対処法
最新のFlash Player をアンインストールし、以前動作していたバージョンをインストールする。


■手順
  1. Flash PlayerのアンインストーラWindows(64bit)用ダウンロードする
  2. Flash Playerをアンインストールする
  3. 前のバージョン(Adobe Flash Player 11.1.102.62)をダウンロードする
  4. zipを解凍し、中にあるreadme.txtを読む(←ここ重要)
  5. flashplayer11_1r102_62_winax_64bit.exeを実行して、Flash Playerをインストールする

以上の手順でできました。
Firefox以外を利用している方は、4のreadme.txtを読んで、もう一方のインストーラなどを利用すると良いかもしれません。

また、最近のFlash Playerは自動的にアップデートする設定があるので、当面はその設定は解除していた方が良いと思います。

しかしながら、XP 64bit Editionを利用している人は少数なので、この症状に出くわす人は稀でしょうね(笑)


※この記事は2週間前に解決したものを思い出しながら書いているので、簡単ながら再検証しましたが一部誤りがあるかもしれません。ご注意ください。

追記(2012/07/12)
2012年06月以降、Windows 7 で youtube が見れなくなりました。その解決法を以下にまとめてました。
アウトプットメモ: Windows 7上のfirefoxで youtube の動画が見れない

2012/04/29

eclipseのコンソールに出力される情報をログとして自動保存する方法

eclipseには、コンソールに出力される情報をログとしてファイルに自動保存する方法があります。

以前使っていてとても便利だったので、Androidアプリの開発にも使おうと思ったのですが、ファイルとして保存ができませんでした。JApplet や JApplication ではきちんと保存できたので何かしらありそうです。


■手順
  1. 「実行」タブ>「実行の構成」を選択し、「実行構成」ウィンドウを表示する。
  2. 対象のアプリケーションにある「共通」タブを選択し、「標準入出力」にある「ファイル」 にチェックを入れる(「コンソールに割り当て」にもチェックを入れておく)。
  3. 「ファイル・システム」を選択して、保存先のフォルダファイル名を決めて「保存」ボタンをクリックする。
  4. 「追加」にチェックを入れると、コンソールに表示された文字列がファイルに追加して保存される。
  5.  「ファイル」に設定したフルパスが表示されていることを確認し、「適用」ボタンをクリックすれば、設定が完了する。

※手順3では、「変数」から選んでもよい。"${workspace_loc}\console.log"とすると、ワークスペース直下に"console.log"というファイル名で保存される。



Androidアプリの開発ではLogCatの方がコンソールに出力される情報よりも重要とは思いますが、エミュレータの起動周りでのエラーの原因を調べるなどに便利なので利用できると良いのですが。。



2012/04/03

「Proguard returned with error code 1. See consle」エラーの解消方法

Androidアプリを「Export Signed Application Package」で作成しようとしたときに、「Proguard returned with error code 1. See consle」エラーが出た場合の解消方法をメモする。
Proguardを使用するとエラーが発生し、Proguardを使用しなければエラーが発生しなかった。
したがって、なぜProguardを使用するとエラーが発生するのかを調べ、その解決方法を探った。

○解決方法
先に結論を述べると、Proguardが使用するであろうファイルのフルパスにはスペース及び"括弧"が入らないようにする。



□エラー内容

C:\dev\android\android-sdk-windows\tools\proguard\bin\proguard.bat @C:\dev\eclipse3.6.2\workspace\SampleProject\proguard.cfg @C:\Users\UserName\AppData\Loca\Temp\android_4422402008691336988.pro
Proguard returned with error code 1. See console
Refreshing resource folders.



□原因の探し方

例:
"C:\Users\UserName\AppData\Local\Temp\android_4422402008691336988.pro"
※実際のファイルはコンソールに表示されている"android_数字.pro"を開く。

(エラーがコンソールに表示されていなかった場合は、「ウィンドウ->設定」を選択して「設定」を開く。「Android->ビルド」をクリックし、「ビルド出力」を「詳細」を選択してOKボタンを押す。これで表示できる設定になる。)

中身はこんな感じ。

  -injars C:\Users\ユーザ名\AppData\Local\Temp\android_925785587453515452.jar;C:\dev\android\AdSDK\adSdk(20120318).jar
  -outjars C:\Users\ユーザ名\AppData\Local\Temp\android_8279953230116289247.jar
  -libraryjars C:\dev\android\android-sdk-windows\platforms\android-7\android.jar
  -dump C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\dump.txt
  -printseeds C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\seeds.txt
  -printusage C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\usage.txt
  -printmapping C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\mapping.txt


jar読み込みで"adSdk(20120318).jar"の括弧が入っていたのでエラーが出てしまっていた。


■解決手順
  1.jarのパスから括弧を取り除く(ファイル名やフォルダ名を変更する)。
  2.「プロジェクト->プロパティ」のライブラリーにおいて、変更したjarを設定しなおす。

2012/03/06

EOS Kiss X5の動画撮影にPCから取り込んだピクチャースタイルファイルを登録する方法

EOS Kiss X5の動画撮影において、PCから取り込んだピクチャースタイルファイルを登録する方法を簡単にまとめました。


■要点
  • 動画撮影には、直接、ピクチャースタイルをファイルを選択して適用することはできない
  • 写真撮影の方でピクチャースタイルファイルを登録しておき、そのあと動画撮影にも適用する
  • ユーザー設定に追加できるファイルは合計3つ。写真撮影と動画撮影で共用している


■手順

1. 「EOS Utility」を起動して、メイン画面で「カメラの設定/リモート撮影」をクリックし、別ウィンドウにおいてカメラアイコンをクリックする。

2.モードダイヤルを応用撮影ゾーンに合わせて、動画撮影で使用したいピクチャースタイルファイルをユーザー設定1~3のいずれかに登録する。

3.モードダイヤルを動画撮影にきりかえ、「ユーザー設定登録」から1で登録したピクチャースタイルファイルを選択する。


以上。

少し掘り下げたものを以下にまとめる。

■詳細

▲写真撮影でピクチャースタイルファイルを登録

オフィシャルサイト キヤノン:ピクチャースタイル内にあるピクチャースタイルファイル→ピクチャースタイルファイルの使い方のページに、写真撮影についてのピクチャースタイルファイルの設定方法の手順が書いてある。
その際の注意点は、モードダイヤルを応用撮影ゾーン(P, Tv, Av, M, A-DEP)に合わせておく


▲動画撮影に登録

モードダイヤルを動画撮影に合わせると、動画撮影の設定を行うことができる。
「ユーザー設定登録」をクリックし、「ピクチャースタイルファイルの登録」を表示する。しかし、フォルダアイコンが使用不可になっているので、直接PCからファイルを選択して登録するということができない。

▲ユーザー設定

ピクチャースタイルのユーザー設定にファイルから追加できるのは3つまで。写真撮影に3つ、動画撮影に3つというようにファイルから追加することはできない。
ただし、写真撮影のユーザー登録1にピクチャースタイルファイルから登録したものを設定し、動画撮影のユーザー登録1には「オート、スタンダード、ポートレート、風景、ニュートラル、忠実設定、モノクロ」などから選択・カスタマイズしたものを登録することは可能なようである。



ピクチャースタイルファイルは、キヤノンオフィシャルサイトからダウロードできるほか、いろいろな人が作成して公開しているようで、インターネットを検索するとあちこちで入手できます。


---
今回、方法を書いてあるサイトが見当たらなかったのでとりあえずまとめてみましたが、カメラや映像の世界は奥が深すぎてさっぱり分からない、そんな状況です。 。