Posted on 5 月 27, 2010 in 雑談 by K.NNo Comments »

自宅ではほとんどマウスを使わないのですが、稀に画像作成したりするときに持ちだします。
ところがガラス天盤の机なのでマウスパッドが必須。今までは雑誌を敷いたりしていましたが、今回新たにマウスを購入しました(会社兼用)
ずっとロジクール一本なのでAnywhere Mouse M905というガラスにも対応しているマウスになりました。

ガラスの上で実際使ってみるとも全く問題なく使えます。いいですねぇ。裏側を見ても光が出ていません。
自分基準で評価してみると
良い点

  • Unifyingが持ち運びに便利
  • そこそこ薄型&小型なので日常の使い勝手とモバイル性が両立されてる
    (気持ちもう少し大きめでもいいかと思うけど)
  • 電池1本ざしでも2本刺しでもOKなのでウェイトコントロールできる
  • 高速回転対応のメタルホイール回すの気持ちイイ(たまに、あふのテキストビューワで固まるけど)
悪い点
  • クリック感が固め。クリック音がカチカチうるさい。
    個人的にはう少し柔らかい方が好き
  • 左右スクロールしづらい、高速回転切替時のクリック感がガコッって感じで嫌い。
  • 充電式でない、仕事で使うとすぐに電池がなくなる
    エネループ買えば解決かな
と、やっぱりマウスはフィーリングが大事ということで。概ね気に入っています。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 27, 2010 in プログラミング, 社内 by K.NNo Comments »

前回はjahtranslateクラスで日本語変換の処理を作成しましたが、今回はその他に変更が必要な箇所についてです。

source/jahshaka/JahLibraries/jahformatter/JahFormatter
void JahFormatter::addButton( QPushButton * button, int x, int y, int w, int h, QString text )
{
button->setGeometry( QRect( x, y, w, h ) );
button->setText( text );
// button->setText( QObject::tr( text ) );
}

jahformatterにある各関数の中でQObject::trを読んでいる箇所を削除する。

他に、
source/Jahshaka/JahModeules/text/characterInterface.cpp
とかだと
//tabframe->insertTab( moduleOptionsUI[2], tr( ” “+jt->tr(”CONTROLS”)+” ” ) );
tabframe->insertTab( moduleOptionsUI[2], ” “+jt->tr(”CONTROLS”)+” “);
のように、二重にtrして???に化けたりする。

あとは単純に変換関数をつかっていない場所で、jt->trを使用する。
source/Jahshaka/JahDesktop/player/MainPlauer.cpp
// Set up the translator
jt = JahTranslate::getInstance();
...
playmodecombo->insertItem( jt->tr( "Loop" ) );
playmodecombo->insertItem( jt->tr( "RAM Player" ) );
playmodecombo->insertItem( jt->tr( "Play" ) );
playmodecombo->insertItem( jt->tr( "Playlist" ) );


と、ここまで書いたけど
source/Jahshaka/JahSource/jahmain/main.cppあたりで
QTextCodec* codec = QTextCodec::codecForName("UTF-8");
app->setDefaultCodec(codec);
としておくと案外tr関係の箇所は修正不要、かもしれない。
※試していないのでわからないけれど

とりえあずまとめると、日本語化はソースいじらないと無理。
変換関数が呼ばれていない箇所も多いいのですべて日本語化するのは結構面倒。
ということで、一旦 Jahshaka Linux編は終了です。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 23, 2010 in プログラミング, 社内 by K.NNo Comments »

前回は、KDevelopのお話。今回はjahshakaを日本語化してみましょう!(ごく一部)

Jahshakaは一応多言語に対応しているんですが(Jahshaka起動してPreferencesで切り替えできる)、その中に日本語は含まれていません。また、多言語化も全部翻訳されているかというと結構怪しいです。

さてJahshakaはどういった仕組みで多言対応しているかというと、以下のソースでif文で言語を切り分け、
jahshaka\source\Jahshaka\JahLibraries\jahtranslate\jahtranslate.cpp
//now we all the respective translator
QString JahTranslate::tr(QString text) throw()
{
QString translated;
switch(theLanguage) {
case ENGLISH : { translated = text; break; }
case FRENCH : { translated = translateFrench(text); break; }
...
default : { translated = text; break; }
}
return translated;
}
言語ごとに作成されているソース(jahtranslate***)から指定された文字に対応する翻訳文字を返しています。
jahshaka\source\Jahshaka\JahLibraries\jahtranslate\jahtranslateFrench.cpp
if ( lang == "load" ) { lang = "Importer"; langchange = true; }
if ( lang == "save" ) { lang = "Enregistre"; langchange = true; }
...
単純な仕組みですね。
ということで、日本語化するには以下のようにします。
適当な言語ファイルをコピーして、jahtranslateJapanese.cppを作成し、中身を書き換える。
jahshaka\source\Jahshaka\JahLibraries\jahtranslate\jahtranslateJapanese.cpp
QString JahTranslate::translateJapanese(QString text) throw()
{
QString lang = text.lower();
bool langchange = false;
...
if ( lang == "load" ) { lang = "開く"; langchange = true; }
if ( lang == "save" ) { lang = "保存"; langchange = true; }
...
// add
if (langchange) {
QTextCodec* tc = QTextCodec::codecForLocale();
lang = tc->toUnicode(lang);
}
return lang;
}
最後に追加したif文はSuse10.1がUTF-8なので、そのまま表示すると文字化けしてしまうための対応。

ヘッダの修正。
jahshaka\source\Jahshaka\JahLibraries\jahtranslate\jahtranslate.h
//enum JahLanguage { ENGLISH, SPANISH, FRENCH, PORTUGUESE, GERMAN, ITALIAN };
enum JahLanguage { ENGLISH, SPANISH, FRENCH, PORTUGUESE, GERMAN, ITALIAN, JAPANESE };
class JahTranslate
{
...
// add
QString translateJapanese ( QString text ) throw();
};
enumの項目JAPANESE追加とtranslateJapanese関数を宣言。

分岐処理の修正
jahshaka\source\Jahshaka\JahLibraries\jahtranslate\jahtranslate.cpp
bool JahTranslate::setLanguage(QString text) throw()
{
QString lang = text.lower();
bool langchange = false;
if ( lang == "english" ) { theLanguage = ENGLISH; langchange = true; }
...
// add
if ( lang == "japanese" ) { theLanguage = JAPANESE; langchange = true; }
if (!langchange) { theLanguage = ENGLISH; }
return langchange;
}
//now we all the respective translator
QString JahTranslate::tr(QString text) throw()
{
QString translated;
switch(theLanguage) {
case ENGLISH : { translated = text; break; }
...
// add
case JAPANESE : { translated = translateJapanese(text); break; }
default : { translated = text; break; }
}
return translated;
}

ファイルを追加したのでMakefileに反映するために、jahtranslate.proに以下のように追加。
SOURCES = jahtranslate.cpp \
jahtranslateFrench.cpp \
jahtranslateGerman.cpp \
jahtranslatePortuguese.cpp \
jahtranslateSpanish.cpp \
jahtranslateItalian.cpp \ <--\を追加
jahtranslateJapanese.cpp <-- 記述を追加

以上で日本語化できるはず…と思ったら甘かった。起動して確認するといろいろな箇所で???と表示されたり、英語のままだったりします。
原因は、

  • 翻訳処理を通していない箇所がいっぱいある
  • 二重にtrしている箇所がある
次回は上記の修正方法について!


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 21, 2010 in プログラミング, 社内 by K.NNo Comments »

前回、Jahshaka(ジャーシャカ)のビルドとインストールまでできたので、今回はKDevelopの紹介。

KDevelopはLinux上のIDE(統合開発環境)。特筆するところはQt desingerに対応しているところでしょうか。
Visual Studioのように、コントロールをドロップして配置していくことができます。
なお、Suse10.1ではYaSTからKDevelop3がインストール出来ます。
出来はそこそこよいのですが、いかんせんバージョンが古いのか日本語入力が上手く出来なかったり、変なところに文字が勝手にペーストされたり、たまに落ちたりと、イマイチです。新しいバージョンが入れられるなら入れてしまうのがいいかも。

使い方としては適当に・・・とりあえず設定関係でいうと、
「プロジェクト」の「Project Options」で
・「C++固有」の「Qt」にて「Use Qt in this project」のバージョンQt3.xにチェックを付ける。インストール先(Qt root path)は/usr/lib/qt3を指定。
・「実行オプション」の「ディレクトリ」=”実行ファイルがあるディレクトリで実行”、「メインプログラム」=jahshaka、プログラム引数=debugを設定する
・「デバッガ」の「gdbのあるディレクトリ」に/usr/binを設定する

あとは、ビルドは「ビルド」->「プロジェクトをビルド」から。
ただし実行ファイル(jahshaka)があるとリンクはされないので、Makefileなどに手をいれてビルド時にはjahshakaファイルを消すようにするなどした方がいいかも。
デバッグするときは、ブレークポイントを設定(ソースの行頭でみぎクリックからブレークポイント)して、
「デバッグ」メニューの「開始」->「ビルド」の「メインプログラムを実行」を選択すると起動後にブレークポイントで停止してくれます。

Qt designerが使用できるのは、拡張子.uiのファイル。クリックすると自動で表示されます。
uiファイルのほとんどは、source/jahshaka/jahWidgetsに大体おかれています。

次回は Jahshakaの日本語化について。
(ハードコーディングされているので、ソースをいじらないとだめでした)


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 20, 2010 in プログラミング, 社内 by K.NNo Comments »

前回はビルドの準備で終わったので、今回はJahshakaのmake、make installまで。

Settings.proのLINUXSUPPORTをtrueにしている場合、追加でavifileパッケージが必要。
YaSTからだとlibc.so.6(GLIBC_2.8)が必要となって大変なので(Suse10.1は2.4)、ソースからインストールすることにします。
ダウンロードはここから
avifile-0.7-0.7.45.tar.bz2をwgetでダウンロードした。

適当な場所に展開してビルドする。
$ cp avifile-0.7-0.7.45.tar.bz2 ~/Desktop/jahshaka_work/
$ cd ~/Desktop/jahshaka_work/
$ tar xzvf avifile-0.7-0.7.45.tar.bz2
ビルドするユーザの権限を忘れると、make時にエラーになるので注意
$ chown -R souya:users avifile-0.7-0.7.45
$ cd avifile-0.7-0.7.45
$ ./configure
$ make

ビルドで、エラーになった。
mp3encoder.cpp:33: error: extra qualificationvi plugins/libmp3lame_audioenc/mp3encoder.cpp 'avm::MP3Encoder::' on member 'MP3Encoder'
make[3]: *** [mp3encoder.lo] エラー 1
make[3]: Leaving directory `/home/takuya/Desktop/jahshaka_work/avifile-0.7-0.7.45/plugins/libmp3lame_audioenc’

エラーの原因はクラスの修飾子が余分についていること。
この記述を削除する。
$ vi plugins/libmp3lame_audioenc/mp3encoder.cpp
public:
//MP3Encoder::MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)
MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)

修正してビルドが通ったら、suしてから
# su
# make install
avifile.hは
/usr/local/include/avifile-0.7/avifile.h
にインストールされる。

再びjahshakaのビルドディレクトリに戻って
ビルド
$ make
suでインストール
$ su
# make install
これで、/usr/local/bin/jahshakaにバイナリファイルが作成されているはず。
また、/usr/local/share/jahshakaにjahstrage(データの保存先)が作成される。

ちなみにJahshaka起動時にダイナミックリンクするための共有ライブラリ(so)が見つからずに起動できないことがあるので、キャッシュを更新する。
# ldconfig
それでも起動できない時は、configure実行時にprefixを指定した可能性が高いので、config.proの中身を確認。
あとはデバッグするのであれば、./jahshaka debugとするとコンソールにログが出力される。

とりあえず、文字ばかりだけどビルドは完了。
起動してAVIが読み込めるか(コーデックによっては読み込めないものもある)確認してみましょう。
次回は、KDevelopについてと日本語化について。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 18, 2010 in プログラミング, 社内 by K.N1 Comment »

前回はソースの展開で終わったので、今回はconfigureの実行と、Settings.proについて。

/usr/src/packages/SOURCES/jahshaka
にソースを展開していたら、jahshaka直下にconfigureが出来ているのでビルドユーザで実行する。
$ cd /usr/src/packages/SOURCES/jahshaka
$ ./configure jahshaka


オプションは./configure –helpで表示できる。
–prefixオプションはjahshakaおよびjahstrageのインストールパスになるみたいだけど、指定すると起動時に必要なファイル(/usr/local/share/jahshaka/Pixmaps)がアクセス権限の関係で参照出来ずに落ちてしまうので、今回は指定しない。

で、configureを実行すると、jahshakaフォルダ内にconfig.proとSettings.proというファイルが作成される。
これらのファイルをqmakeが参照してMakefileを生成するらしい。
あとはSettings.proの設定を手動で変更して、make、make installすれば実行ファイルができるという流れ。

ちなみに、Settings.proは同じフォルダ内のjahshakaSettings.proから作成される。
よくconfigureしなおす場合は、こちらに記述しておくのもよいかもしれない。

とにかく、Settings.proを開いて以下の様に修正。
$ vi Settings.pro
qmakeの環境変数にolib関係のパスを追加
### QMAKE Setting ###
QMAKE_LIBDIR += /usr/olib/0.3.0/lib/
QMAKE_INCDIR += /usr/olib/0.3.0/include
QMAKE_INCDIR += /usr/olib/0.3.0/include/mlt


MLT/AVIサポートを有効にする。
#MLTを有効にする
#MLTSUPPORT = false
MLTSUPPORT = true
#AVIファイルを読み込めるようにする
#LINUXSUPPORT = false
LINUXSUPPORT = true


以上。
今回のビルドではMPEGのエンコード、デコードについてはパス。
次回はmakeとmake install完了まで。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 17, 2010 in プログラミング, 社内 by K.N1 Comment »

Jahshakaで苦労するのはメディア関係の依存ライブラリがたくさんあるところ。
しかもJahshaka自体の開発はだいぶ前から止まっているので、最新のライブラリに対応していない。
このあたりが後々改造するときにどう響いてくるのか未知数・・・。

前回のリポジトリからSuse用のsrcとbinをダウンロードしておく。
/yum/suse/10.1/RPMS/src
/yum/suse/10.1/RPMS/i586

次に、YaSTで各種ツールをインストールしておく。

・qmake、Qtの各種ツール
JahshakaはQt3で作成されているので、qt3-devel(3.3.5-58)をインストールする。
qmakeは
/usr/lib/qt3/bin/qmake
にインストールされるのでパスを通す。

$ cd ~
$ vi .bashrc
--------
export PATH=$PATH:/usr/lib/qt3/bin <-追加
export QTDIR=/usr/lib/qt3 <-追加
--------
$ source .bashrc


・boost
boost-devel-1.33.1-17.i586.rpmはインストール後にシンボリックリンクを作成しておく
$ su -
# ln -s /usr/lib/libboost_filesystem.so.1.33.1 /usr/lib/libboost_filesystem.so


・SDL-devel
も必要。設定は特に不要。

他に
・pkg-config
・alsa-devel-1.0.11-32
・libvorbis-devel-1.1.2-11
・libjpeg-devel-6.2.0-16
が必要になるかもしれない。
RPMのインストール時やビルドエラーでわかるのでその時に入れてもOK.

次に後で依存関係で面倒なことになるので、インストール済みのopenalに依存するパッケージ
blender、chromiumをYaSTでアンインストールしておく。

一通り揃ったらSRPMを展開する。下から順に入れていく(か一括で)
# rpm -ivh ファイル名

jahshaka-2.0RC4-6.src.rpm
openlibraries-devel-0.3.0-1.i568.rpm
openlibraries-0.3.0.1-i568.rpm
olib-glew-devel-1.3.4-4.i568.rpm (ビルド時に必要になる)
olib-glew-1.3.4-4.i568.rpm
olib-mlt++-devel-0.2.2-1.i568.rpm
olib-mlt++-0.2.2-1.i568.rpm
olib-mlt-devel-0.2.2-1.i568.rpm
olib-mlt-0.2.2-1.i568.rpm
olib-ffmpeg-devel-0.0.0.3.i568.rpm
olib-facc-18102004-3.i568.rpm
olib-ffmpeg-0.0.0-3.i586.rpm
olib-lame-3.97.3.i586.rpm
openal-0.0.8-219.1.i586.rpm
openal-devel-0.0.8-219.1.i586.rpm

ソースファイルは
/usr/src/packages/SOURCES/jahshaka.tar.gz
/usr/src/packages/SPECS/jahshaka.spec
に展開される。

$ cd /usr/src/packages/SOURCES
$ tar xzvf jahshaka.tar.gz

※権限の関係で解凍できなければrootで解凍後、chown -R でビルドユーザの権限に変更

次回はconfigureとSettings.proについて!


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 14, 2010 in プログラミング, 社内 by K.N1 Comment »

jahshakaはオープンソースの動画編集ソフトで、Adobe After EffectsやFinal Cut Proと同じジャンルの物です。これから数回に分けてjahshaka をLinux上でビルドする方法を覚書。

なおこのソフト開発元が開店休業状態(Cinefxに名前が変わっただけ)のためネット上にほとんど情報がないです。ハマると自力で解決する以外にないので使おうと思っている方は覚悟が必要。
※Jahshakaでなくてもよい人はここに載っているものを色々試してみるのがいいかな。OpenShotなんかは今後期待できそう。

さて、まずはソースのありかなんですがsorceforgeからダウンロード・・・したら足りないものが多すぎて撃沈しました。何が足りないか探すだけでも一苦労。
そこでこちらのレポジトリからRPM形式のものをダウンロードします。バージョンは2.0RC4.6となっていますがソースを見る限り2.0と同等のようです(多分)

各プラットフォーム用のRPMがあったのでFedora用をCentOSにいれて楽勝~~~・・・のはずが、ダメ。CentOS4.3/5.4、あとはUbuntu用をUbuntu8.04で試したけど依存関係が解決出来ない、パッケージ自体が見つからないなど涙目。
あー、やっぱり無理かなーと思っていたら、社長がノートPC用意してくれました。Suse10.1が入っています。
リポジトリの中でディストリビューションのバージョンが 特定出来るのはSuseだけ、かつSRPMなのでソースの依存性もチェックしてくれる。これはいけるか?

ということで今後はSuse10.1でのビルド環境構築の説明になります!


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 14, 2010 in 雑談 by K.N1 Comment »

お金が他のモノと違うところは、年数がたっても価値が変わらないこと(インフレ・デフレとかはのぞく)
あとは人に貸すと増えて戻ってくるという仕組みかな。
普通のモノは年数がたてば古くなったり壊れたりして価値が下がっていくし、感謝はされるけど貸しても増えて戻ってこないし。
本当はお金も人に貸したら減らないといけないんじゃない?
そういう意味でお金というのはかなり異質なモノなんだなぁと(なんとなく、わかったフリ)

おむすび通貨は、古米になると価値が下がっていく(米)
マイナスの金利?。溜め込んでいたらどんどん減っていく。つまり使わないといけないのでお金(むすび)がまわる。
しかも、いざという時は食べられる。理想的!普及するといいなぁ。

[米]いまは、作付けした年内で交換だそうで、期限付き地域振興券みたいな感じかな。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Posted on 5 月 12, 2010 in 雑談 by T.M1 Comment »

サイト? いえ,鞄です. 革好きには,堪らんですわ.

コルボ(CORBO)
BEAU-DESSIN


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
Next Page »
【営業エリア】
北陸・東海・関東・近畿
石川県(加賀市・かほく市・金沢市・小松市・珠洲市・羽咋市・白山市・七尾市・能美市・輪島市・川北町・野々市町・津幡町・内灘町・志賀町・宝達志水町・中能登町・穴水町・能登町)
富山県・福井県
岐阜県・愛知県
東京都・神奈川県・千葉県・埼玉県・群馬県
大阪府・兵庫県・京都府・滋賀県・奈良県
Theme by Got Chance and Nitrogen DesignsPowered by Wordpress