|
この記事に対してのコメント
投稿者:TTS 投稿日:2009/03/21(Sat) 10時58分12秒
初めまして。
2004年頃に一斉を風靡した? foo_tts と同じような機能を再現をしたいと考えています。
プログラム初心者のためどこから手をつけたら良いのか試行錯誤の連続です。
現時点ではうまく稼動しませんが、下に書いたように曲情報を取得して、曲が終わった時点で終了した演奏曲名と次に演奏する曲情報を演奏終了ごと(演奏開始ごと)に読み上げたいと考えています。
既に開発が終了しているかもしれませんが、アドバイスを頂けますと嬉しいです。
[On int]
$playback_control(play)
[On Playback starting]
$playback_control(stop) //META情報を取得するために[On int]で曲を再生して直後に停止する。
$getmeta($calc(%g_playing_index%-1),'%title%',playing)//1つ前の曲のタイトルを取得する。
$textwrite('C:\title-1.txt',%title%,sjis) //一つ前の曲名を title-1.txt の名前にしてShift-JISのテキスト形式で保存する。
$execute('C:\Program Files\SofTalk\SofTalk.exe',C:\title-1.txt,hide) //再生中の曲情報を読み上げる。
$getmeta(%g_playing_index%,'%title%',playing) //再生中の曲名を title_0.txt の名前にしてShift-JISのテキスト形式で保存する
$textwrite('C:\title_0.txt',%title%,sjis) //再生中の曲名を title_0.txt の名前にしてShift-JISのテキスト形式で保存する
$execute('C:\Program Files\SofTalk\SofTalk.exe',C:\title_0.txt,hide) //再生中の曲情報を読み上げる。
$playback_control(play) //[On int]の曲を再生する。
投稿者:プロ 投稿日:2008/11/06(Thu) 00時53分36秒
初めまして、いつも便利に foo_func を使わせていただいております。
さて、$pstrsplit について要望があります。
$pstrsplit でダイアクリティカルマークの付いた文字を区切るとダイアクリティカルマークが消えてしまいます。
これをそのまま出力することはできないでしょうか。
ダイアクリティカルマークはアクサンとかウムラウトとかアルファベットの上などに付いている記号のことで、要はユニコード文字が表示できないのです。
よろしくご検討ください。
投稿者:カンダタ 投稿日:2008/06/30(Mon) 17時14分44秒
>nanashiさん
お久しぶりです。
少し調べてみたのですが、どうもSDKの仕様っぽいです。
解決策が見つかったら対策しようと思いますので、気長にお待ち下さい。
投稿者:nanashi 投稿日:2008/06/27(Fri) 00時14分13秒
お久しぶりです、こんばんは。
最近foo_funcを使っていて気が付いたのですが
$filesでファイルをサーチすると、foobarが終了するまで
そのファイルを含むフォルダをロックしてしまうようです。
ジャケットや歌詞の有無を判定していると
File Operations > Copy to,Move to,Rename toなどで
管理している音源を整理する際に引っかかってしまいます。
地味に気になってしまうので、可能であれば修正をお願いしたいのですが・・・。
是非ともよろしくお願いします。
投稿者:jensen 投稿日:2008/05/05(Mon) 19時39分27秒
The $contextmenu_execute() function cannot execute the command under Tagging/Scripts, can you fix it? Thanks first!
投稿者:nanashi 投稿日:2008/04/17(Thu) 02時01分24秒
いつも乙です。
foo_funcは凄い速度でどんどん進化していますね。
元々高かったfoobarの柔軟性が
ほんの二ヶ月前には想像も出来ないほどに上がっていて
毎日新しい発見をしながら弄るのがとても楽しみになりました。
もはやfoo_func無しでは生きていけない体になってます。
今回は$settimerに関してなんですが、セットする時間や動作を
指定して作動するように、などは出来ないでしょうか?
現在はセットした感覚で実行というよりも
$setmainmenuなどをボタンにしている時に
押してから数秒待って実行させたい動作や
起動して数秒後に実行させたい動作に活用しています。
たとえば起動直後に一時停止だったら再生開始の簡易リジューム機能
(起動直後は停止扱いなので、起動して1秒くらい待つため)を
$if(%ispaused%,
$mainmenu_execute(Playback/Play or Pause)$settimer(0),$settimer(0))
こんな感じで使用してるんですが他の場所で他の用途の為に
$settimerを使う時に一時停止していると誤作動してしまいます。
TF
$settimer(test,100)
foo_funcのOn timer
$timer(test,処理する動作を100間隔で)
こんな風にできると理想的なのですが、無理でしょうか?
お忙しいとは思いますが、ご検討よろしくお願いします。
投稿者:カンダタ 投稿日:2008/04/14(Mon) 18時20分32秒
The order by which the component is read cannot be operated.
How if processing to make it draw again on the screen by on init of foo_func is put?
However, the function doesn't exist in foo_func.
投稿者:jensen 投稿日:2008/04/14(Mon) 15時36分15秒
Thanks for the previous help! And now I have new suggestion, will you help me again? I'll appreciate it : )
about the "On init" script, it should be executed after foobar has started, but it seems that it is executed after the whole interface has been drawn completely (ie. after every panel has been drawn), and no panel could be able to get the global variables defined in the "On init" script before then.
I don't know whether it is hard to implement, but can you make some modifications to get the "On init" executed before the whole interface is drawn? since otherwise it quite limits my actual usage.
投稿者:jensen 投稿日:2008/04/01(Tue) 10時48分54秒
Oh! I see it! I don't know japanese, so I didn't know what that function use for. Now I know it, Thank you very much!
投稿者:カンダタ 投稿日:2008/03/31(Mon) 23時53分36秒
The function has already been provided.
$hash(name,value) -> %name%
$hash(name) = %name%
$hash() -> clear all variables
投稿者:jensen 投稿日:2008/03/31(Mon) 11時58分18秒
Hopes you can add the global variable function, just like in foo_etc, so it can nearly take the place of foo_etc for us.
Thanks
投稿者:カンダタ 投稿日:2008/03/24(Mon) 18時48分00秒
>417さん
すいません。今色々調べていたのですが、なんだかできそうです。
Columns UI でできているということはできるはずなので。
投稿者:某板某スレの417です。 投稿日:2008/03/24(Mon) 13時36分52秒
規制中でしたか。
さっそく要望を聞き入れてくれてありがとうございます。
※多分、foo_utilsのEdit Other/〜を$contextmenu_で使えるようにすることはできません。
そうなんですか。
Columns UI のボタンには割り当てることができるのでひょっとしてと思ったんですが残念です。
投稿者:nanashi 投稿日:2008/03/13(Thu) 15時58分47秒
$transwindowの解除機能ありがとうございます。
通常モードでは$transwindow()で透過を解除すると
Shpeckの表示も正常になりました。とても嬉しいです。
自分はfoobarをちょいちょい弄る事くらいしか出来ませんが
気づいた事などありましたら報告したいと思います。
要望の件、そう言って頂けると安心しました。
自分だけではなく他の人も便利に使えそうな関数を思いついたら
ホイホイ気楽に要望せず、自重しながらお願いしてみようと思います。
お体に障らないように、これからも頑張ってください。
投稿者:カンダタ 投稿日:2008/03/13(Thu) 00時57分19秒
>nanashiさん
要望はいくら出していただいてもOKですよ。
デバッグしてくださるのでとても感謝しています。
Shpeck に関しては透過表示に対応していないのかも・・。
$transwindowに透過解除機能を付けておきました。
デスクトップ座標の件は少し仕様を考えて見ますね。
可能であれば次バージョンで対応します。
投稿者:nanashi 投稿日:2008/03/12(Wed) 22時34分13秒
色々試行錯誤してみましたが、hideとshowは自分の環境では動かないようでした。
せっかく対応して頂けたのに申し訳ないです。
パネルの透過されない問題は、ボタンで大きめにサイズを変えた後
$setwindowsizeで下の透過されない部分を切り捨てる形でリサイズしてみた所
なんとか全部透過できるようになりました。
不具合?といったらおかしいかもしれませんが
$transwindowでウィンドウの透過度を設定していると
ビジュアライザ(Shpeck)のfoobar上でのパネル表示が出来なくなり
前面、背面のウィンドウやデスクトップ上に表示されるようになってしまいます。
環境はfoobar2000 core 0.9.5、Shpeck 0.2.2、foo_func 0.0.6です。
この現象は透過度を指定してない状態では起こらないので
まず間違いなく$transwindowが原因だと思います。
透過を適用したいミニモードではこのビジュアライザを使用したりしないので
$transwindow()で全ての透過度設定を解除などが出来れば解決すると思うのですが・・・
以下は要望なので、忙しかったり難しい、ということであればスルーしてください。
サイズの切り替えや表示スタイルの変更を色々試していてふと思ったのですが
ウィンドウ左上基準のデスクトップ上での座標を示す変数(%x%や%y%みたいな?)や
$setwindowsizeのオプションで表示座標を指定、といった事が出来れば
ミニモードに切り替えた時は自動的にウィンドウの右下へ移動、
位置指定まではしなくとも右下側へ20づつずらす、といった事や
戻した時は元の位置に、といったことが出来て非常に助かります。ご一考お願いします。
毎度毎度要望ばかりで本当にすみません。
もしあれでしたらスルーしてくださいorz
投稿者:カンダタ 投稿日:2008/03/12(Wed) 15時17分46秒
>nanashiさん
うーん、それはおそらくパネル側の再描画の話になってくるので、
難しいかもしれませんが、ウインドウを一度非表示にして再表示すれば解決するかもしれません
なので、次のバージョンで$setwindowstyleにウインドウの表示/非表示を追加してみますね
投稿者:nanashi 投稿日:2008/03/12(Wed) 13時22分36秒
修正ありがとうございます。
foobarで出来ることが一気に増えて、とても楽しいです。foo_func凄すぎです。
あんまり楽しくてほぼ徹夜で弄っていたら気づいた点なのですが
変数とボタンでタイトルバーとウインドウ枠の表示と非表示を入れ替えていると
http://foobar2000.xrea.jp/up/files/up813.png
タイトルバーの縦幅の分だけすぐに透過されない部分が出てきてしまうようです。
細かい点ですが、改善可能でしたらお暇な時にでも是非お願いいたします。
要望ばかりで本当にすみません。
投稿者:カンダタ 投稿日:2008/03/11(Tue) 22時49分08秒
>通りすがりの名無しさんさん
了解しました。
可能であれば次バージョンで対応します。
投稿者:通りすがりの名無しさん 投稿日:2008/03/11(Tue) 21時45分59秒
要望ですが、$urlencodeにEUC-JPを加えて頂けると非常にありがたいです。
エンコードにEUC-JPを使ってるサイトがあるんですorz
投稿者:カンダタ 投稿日:2008/03/11(Tue) 21時01分24秒
>nanashiさん
申し訳ない。修正しました(;´Д`)
投稿者:nanashi 投稿日:2008/03/11(Tue) 19時35分04秒
2時間くらい弄っていて、ここは!と思うところがあったので投稿します。
連投申し訳ありません。
$ifequal($getpvar(Mini),0
,
$setwindowstyle(overlappedwindow_on,topmost_off)
,
$setwindowstyle(overlappedwindow_off,topmost_on)
)
上記のようなコードを書いて動作させようとしましたが
一度設定した最前面固定が実行されると
以後再起動するまで解除が不可能でした。
メインウィンドウに対する設定ですので
WindowModeは関係ないと思うのですが・・・
自分のミスでしょうか・・・?
投稿者:nanashi 投稿日:2008/03/11(Tue) 18時04分01秒
遅くなってしまってすみません。対応ありがとうございます!
どちらも駄目元だったので、まさかこんなに早く対応して頂けるとは思ってもいませんでした・・・!
PanelsUIの作者さんがおらず更新が絶望的なこの状況で
TFの条件分岐を使用しての最前面固定とpopup個別でのサイズ変更や
タイトルバー消しは絶対に無理だとずっと諦めていたので感激です。
さらに最前面固定+タイトルバー消去を設定すると、どの作業をしていても最前面に加え
タイトルバーが無い効果でデスクトップの表示等による最小化も無効化して
完全な前面固定が出来るようになりとても嬉しいです。
本当にありがとうございました!
投稿者:カンダタ 投稿日:2008/03/11(Tue) 15時35分15秒
>nanashiさん
とりあえずできましたので確認してみてください。
まだあまりテストしてませんが多分大丈夫だと思います。
また何か不具合とか要望があったらお願いします。
投稿者:カンダタ 投稿日:2008/03/11(Tue) 13時07分48秒
>nanashiさん
了解しました。
自分は普段PUIを使わないので、少し時間がかかるかもしれませんが、
可能であれば次リリースに入れてみます。
投稿者:nanashi 投稿日:2008/03/11(Tue) 11時15分13秒
某スレから来ました。
便利な関数ですごくワクワクしています。
さっそく色々試してみたのですが
ウィンドウの表示関連の関数はPanelsUIのPopupパネル(サブpui)で使用すると
Popupしたパネルには適用されず、メインウィンドウのみの適用となるようですが
これをサブpuiのみに適用する、といった事は出来ないでしょうか?
Popupしたパネルのみに適用できればメインウィンドウを表示しつつ
下に再生情報のパネルを透過しつつ表示といったことが出来てとても便利なのですが・・・。
PanelsUIの機能であるボタンでのWINDOWSIZE変更でも同じ動作なので
これはPanelsUIの仕様でどうしようもない事かもしれませんが、考えていただければ嬉しいです。
また、これはColumnsUIを使っている方には不要だと思うのですが
可能であれば$setwindowstyleに最前面に固定する機能を付け足して欲しいです。
PanelsUIではAlways on Topが効かないので・・・orz
投稿者:カンダタ 投稿日:2008/03/11(Tue) 00時56分22秒
配列関係、あれこれ試してたらfoo_etcの作者さんが作ってくれてた!!
GJ!!
投稿者:カンダタ 投稿日:2008/03/10(Mon) 23時50分28秒
>>684さん、代理投稿ありがとうございます。
>>685 なるほど!!!
ちょっとやってみます!
578さん、了解しました。
簡単にできるので次リリースで取り込んでおきます。
ただし完全透過なのでその部分がなかったことになり、
デスクトップが表示されるだけですが(;´Д`)
投稿者:578 投稿日:2008/03/10(Mon) 23時34分35秒
ご回答ありがとうございます。
>パネル毎の背景透過はパネルを完全に制御しないと無理
了解です。
>特定色を完全透過
これ可能なんですか!
もし良かったら導入していただけませんでしょうか?
暇な時で構いませんので…
投稿者:カンダタ 投稿日:2008/03/10(Mon) 18時05分50秒
某所がアクセス制限中で書き込めないようなので、
こちらで回答させていただきます。
>>617
$for は既に似た物を作ってる ($while) のだけど、
あまり実用的ではない気がするのでまだ入れてない
$while('judge tf', 'exec tf', [loop])
judge tf が 1 の場合、exec tf を実行し続ける
で、無限ループ防止用にloop回数を超えるとbreakする
実用的ではない理由にTFに%isplaying%や%title%などの再生中の情報などは使えない点
$setarray,$getarrayはあれば便利そうですね・・・
ただVC初心者の俺には敷居が高いです
できれば別の作者様にお願いしたい
>>578
少し調べてみましたが、パネル毎の背景透過はパネルを完全に制御しないと無理かも
特定色を完全透過するというのは簡単にできるのですが
|