一通り機能を付けて公開しました。
仮想マシン上で10〜15%程度の負荷ですが、どのくらいのマシンで快適に動作するのかは謎。再生するファイルにもよるだろうけど。
[ドキュメントの補足]
setx,sety,setwidth,setheightで画面に表示する領域を指定します。setsrcx,setsrcy,setsrcwidth,setsrcheightでビデオ内から描画したい領域を指定します。これらを組み合わせてビデオの一部分を拡大して表示したりすることも出来ると思います。getvideowidth,getvideoheightの値はビデオのオリジナルサイズなので変動しません。
2010年04月10日
2010年04月07日
プラグイン
MPEG-1再生レイヤープラグイン。
とりあえず動くかどうかの確認程度でまだまともに使える状態じゃないです。単体ファイルかNSAファイルから再生可能です。NSAGetFileはns2には対応していないのかな?
DirectShowを使用しているのでMPEG-1以外も再生できるかもしれませんが、フィルタがあれば再生できるというものでもないです。例えばMPEG-2はフィルタが存在しても再生できません。
PC強化
Opteron 170 -> PhenomII X4 955 BE
DDR400 2GB -> DDR2-800 8GB
あとOSもWindows XPから7へ。
Visual Studio 2005はXPModeで使用。
十分使える速度。
DDR400 2GB -> DDR2-800 8GB
あとOSもWindows XPから7へ。
Visual Studio 2005はXPModeで使用。
十分使える速度。
2009年11月10日
2009年04月10日
2009年04月09日
NScripterに大規模な更新
これは面白そうだ。
luaはさわったことないので、いろいろ試してみよう。
--
やはりVisual C++ 2008のコンパイラでは9x系で動かないのか。
2003に戻されるよう。
luaはさわったことないので、いろいろ試してみよう。
--
やはりVisual C++ 2008のコンパイラでは9x系で動かないのか。
2003に戻されるよう。
2009年04月05日
コンパイラとスタック
これからNScripterはVisual C++ 2008でコンパイルされるよう。
基本的にVisual C++ 2008でコンパイルすると9xでは動かない(?)みたいなんだけど、大丈夫なんだろうか。
まあ9xはMicrosoftのサポートも終わってるし、OSの使用自体推奨されないか。
※関係ないけどミレニアムエディションは本当にひどかったなぁ(´ロ`;)
※ただ起動速度はめちゃくちゃ速かった。
---
最近NScripterのスクリプトばかり弄ってる。
それでNScripter関係のサイト見てたら、スクリプトでスタックを実装してた。
たしかに便利だなぁとこれを配列変数でやろうかと思ったが、
配列変数はどのくらいまで領域を確保していいのかわからない。
あまり大きな値(例えば30000)を確保するとNScripter内の他の領域を上書きしてる(?)のか挙動がおかしくなる。
ただエラーメッセージなどは出ない。
このエラーメッセージが出ないのが曲者で、例えば10000では挙動に変化は出ないけど、
見えないところで超えてる可能性があるんじゃないかと。
安全に使用できる領域はどのくらいなのか。
マニュアル読んで?0[199]が最大かと思ったけど、
そのサンプルで(2次元だけど)200は超えてるようだからやっぱり?0-199[n]?
うーん、どこか読み落としてるんだろうか。
って考えてたけど、そもそもそんなに深く潜ることもないから大丈夫か。
とりあえずdim ?0[500]くらいでやってみよう。
基本的にVisual C++ 2008でコンパイルすると9xでは動かない(?)みたいなんだけど、大丈夫なんだろうか。
まあ9xはMicrosoftのサポートも終わってるし、OSの使用自体推奨されないか。
※関係ないけどミレニアムエディションは本当にひどかったなぁ(´ロ`;)
※ただ起動速度はめちゃくちゃ速かった。
---
最近NScripterのスクリプトばかり弄ってる。
それでNScripter関係のサイト見てたら、スクリプトでスタックを実装してた。
たしかに便利だなぁとこれを配列変数でやろうかと思ったが、
配列変数はどのくらいまで領域を確保していいのかわからない。
あまり大きな値(例えば30000)を確保するとNScripter内の他の領域を上書きしてる(?)のか挙動がおかしくなる。
ただエラーメッセージなどは出ない。
このエラーメッセージが出ないのが曲者で、例えば10000では挙動に変化は出ないけど、
見えないところで超えてる可能性があるんじゃないかと。
安全に使用できる領域はどのくらいなのか。
マニュアル読んで?0[199]が最大かと思ったけど、
そのサンプルで(2次元だけど)200は超えてるようだからやっぱり?0-199[n]?
うーん、どこか読み落としてるんだろうか。
って考えてたけど、そもそもそんなに深く潜ることもないから大丈夫か。
とりあえずdim ?0[500]くらいでやってみよう。
2009年03月28日
nsswf.dllのサンプルスクリプト
サンプルスクリプトを組んでみました。
00.txt
01.txt
02.txt
動作確認もほとんどしてなくて上手く動くかあまり自信がないですが、
00.txtがdefine節、01.txtが実装部分、02.txtからstartという感じです。
あとは同じフォルダにnscr.exe、nsswf.dll、demo.swfを用意してください。
サブルーチン(defsubやら)を使用したのは初めてかもしれない。
実は今まであまりNScripter本体にふれてない(´・ω・`)
今回のサンプル作るだけでも分からないことが一杯だった。
NScripterを利用して作品を作ったことはあるのですが、
(もともとnptheoraもそれで使用するつもりだった)
そのときは時間もなくて場当たり的な突貫工事。
逆にそれで十分動くくらいNScripterは使いやすいってことですが。
で、やってて思ったのはSwfOpen(demo.swf)よりSwfOpen/demo.swfという書式の方がいいのかなと。
まあ今から変えるのもなんだし、とりあえずこのままでいいか。
00.txt
01.txt
02.txt
動作確認もほとんどしてなくて上手く動くかあまり自信がないですが、
00.txtがdefine節、01.txtが実装部分、02.txtからstartという感じです。
あとは同じフォルダにnscr.exe、nsswf.dll、demo.swfを用意してください。
サブルーチン(defsubやら)を使用したのは初めてかもしれない。
実は今まであまりNScripter本体にふれてない(´・ω・`)
今回のサンプル作るだけでも分からないことが一杯だった。
NScripterを利用して作品を作ったことはあるのですが、
(もともとnptheoraもそれで使用するつもりだった)
そのときは時間もなくて場当たり的な突貫工事。
逆にそれで十分動くくらいNScripterは使いやすいってことですが。
で、やってて思ったのはSwfOpen(demo.swf)よりSwfOpen/demo.swfという書式の方がいいのかなと。
まあ今から変えるのもなんだし、とりあえずこのままでいいか。
2009年02月03日
システムメニューの不具合修正
CoGetInterfaceAndReleaseStreamで取得したFlashのインターフェイスを使うのを限定的にした。このインターフェイスからFlashの関数なりを呼び出している間にシステムメニュー関係の処理が失敗しているようなので。
自分で同期処理っていうか、ただスレッドにメッセージ送って処理してくるの待つだけ(´・ω・`)
自分で同期処理っていうか、ただスレッドにメッセージ送って処理してくるの待つだけ(´・ω・`)
2009年01月28日
nsswf.dllの不具合
画像のようなウインドウ(NScripter)のシステムメニューが効かなくなる。選択してもビープ音のみ。ウインドウ上の[X]ボタンやら[_]ボタンは問題なく動作しているけど、タスクバーやウインドウアイコンから呼び出したシステムメニューのみが動作しなくなる。
Flash用にスレッドを別にしたのが原因のよう。0.5.0.0以前では発生していない。新しいスレッドでホストウインドウやらFlashやらを作って、メインスレッドではCoGetInterfaceAndReleaseStreamで取得したインターフェイスで処理している。不味いんかなぁ(´・ω・`)
一応、0.5.0.0はここに置いてあります。
これはこれで別のバグがありますが(´・ω・`)