インターネットラジオ「らじるれ郎」開発記録 (08)

秋の夜長に「らじるれ郎」です (^_^)
1
戸田プロダクション @TodaProduction

なんじゃかんじゃで終日コーディング。以下の機能を実装完了した。 1.環境設定パネルに「最小化でタスクトレイに格納する」「起動時に自動でタスクトレイ格納する」追加 2.トレイアイコン右クリックメニューに「チャンネル表示」「お気に入り操作」「チャンネル切替」「ミュート」「終了」搭載 pic.twitter.com/Tt0ko3y3wq

2019-09-20 21:04:02
拡大
戸田プロダクション @TodaProduction

うーん、らじるれ郎の「常駐モード」に必要機能を追加すればするほど、自前のメッセージ監視 (AppOnMessage) との絡みで深みにハマるようだ。なんと! SHDocVw_TLB の内部でエラーが出てしまった。これはもう、始末に負えんやつだ (^_^;)。 pic.twitter.com/faqs8TKGN6

2019-09-21 16:13:02
拡大
拡大
戸田プロダクション @TodaProduction

あー、どうやらここが怪しそうだ。カッ飛びチャンネル切替と TTrackBar の衝突について記したこのツイートがヒントになった。助かった。なんでも記録しとくもんだなぁ。 twitter.com/TodaProduction…

2019-09-21 17:12:47
戸田プロダクション @TodaProduction

タスクトレイの右クリックメニューに「グループ切替」「ラジオパネル」「環境設定」を追加した。タスクトレイに入ってる時には、メインフォーム内の自前のメッセージ監視 (AppOnMessage) ではすべてのキー入力を無視することにした。アイコン化された常駐中の「カッ飛びチャンネル切替」は諦める。 pic.twitter.com/XaFEWg14oo

2019-09-21 20:06:48
拡大
戸田プロダクション @TodaProduction

朝から半日ハマってどえらい苦労をした。ようやく原因が判明して対策を講じることが出来た。 現象:原因不明の読み込み違反発生 状況:現在のメディア情報文字列が極端に長く、かつ    アイコン Tip 文字列には先頭64文字のみ表示中 原因:NotifyIcon.szTip に文字列コピーする時の文字数相違 pic.twitter.com/j6vsOMeFnJ

2019-09-22 16:09:11
拡大
戸田プロダクション @TodaProduction

最初、安易に StrPLCopy(NotifyIcon.szTip, PChar(TipStr), 64) とやったのが運の尽き。TipStr が64文字以下の場合や、たとえ64文字超でも (なぜか) 初回は上手く szTip に文字列セット出来た?ため、発見が大幅に遅れた。正しくは StrPLCopy(NotifyIcon.szTip, PChar(TipStr), 63) とすべき。

2019-09-22 16:13:09
戸田プロダクション @TodaProduction

function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar; StrPLCopy 関数は最大でMaxLenバイトの文字を Source からヌルで終わる文字列 Dest にコピーします。 メモ:Dest はヌルターミネータも含め MaxLen + 1 文字分の余地がある位置を指す必要があります。 これだわ!

2019-09-22 16:13:44
戸田プロダクション @TodaProduction

ふー、この3連休でなんとか「らじるれ郎の常駐化?」対応が完了した。最小化によりアイコンになってタスクトレイに入っている時には、仮にミュートとかするとパッと見では見分けがつかなくなるので、思い切ってミュート時にはアイコン色を変更することにした (なんと贅沢な w)。 pic.twitter.com/ipS19Bdfbj

2019-09-23 22:56:28
拡大
戸田プロダクション @TodaProduction

ところが、このアイコン色変更が大変だった。最初 ImageList にアイコン2つ入れて都度取り出す方法を試したのだが、なぜかこの方法では *.ico 背景色が透過にならない。あらゆるプロパティの組み合わせを試したが、どうしても上手く透過表示出来なかった。なんでかなぁ? Delphi 7.1 だからかしらん?

2019-09-23 22:57:39
戸田プロダクション @TodaProduction

結局 Application.Icon.LoadFromFile し *.ico ファイル自体は正常なことを確認したのち、リソースファイルで EXE に埋め込んだアイコンを LoadIcon(hInstance, 'XXX') してようやくタスクトレイ内のアイコン透過表示に成功した。この改造で、ついに EXE ファイルのサイズが1メガバイト超えちゃった。

2019-09-23 22:59:05
戸田プロダクション @TodaProduction

なんと本日も終日コーディング (^_^;)。 らじるれ郎をタスクバーに入れてラジオを聴いている。何かの都合でミュートする。たまたま離席する。再びPC前に戻ってくる。またラジオを聴こうとして、ミュート中のタスクトレイアイコンに気づかず、らじるれ郎を二重起動してしまう…という事態の対応策。

2019-09-24 16:27:05
戸田プロダクション @TodaProduction

従来は、ミュートしようがすまいが常にPC画面上にはラジオパネルが表示されていたから、特に多重起動を禁止せずとも勘違いは起こらなかった。逆に、多重起動自体には何かと役に立つ局面も多い?ため、らじるれ郎には特に多重起動禁止の考慮を盛り込んでいなかった (EXE サイズも膨らむしね (^_^;))。

2019-09-24 16:30:26
戸田プロダクション @TodaProduction

しかしまぁ 昨日アイコン色の変更対応で EXE サイズがついに1メガ (正確には1,000 KB) の大台を超えたので、懸案だった多重起動禁止考慮も盛り込むことにした。チェックには教科書どおり Mutex を使う方法を採用したが、少し考え 環境設定で多重起動を「禁止するか?しないか?」選択可能にしてみた。 pic.twitter.com/spJItbGNAi

2019-09-24 16:33:36
拡大
戸田プロダクション @TodaProduction

一昨日からやってるらじるれ郎の多重起動制御、アイコン化されている時には「ミュート」以外にも「放送休止中」とか RadioTunes「Are You Still There?」とか (^_^;)、意外と無音状態になる局面が多いことが判って、結局「常駐化」対応するなら「多重起動制御」は必須…?という感触になりつつある。 pic.twitter.com/VXqUEk4SMw

2019-09-26 19:41:19
拡大
Mitsugu at アレクシス @toratorax

@TodaProduction 確かにこれはありそうなシュツエーションですね。

2019-09-26 08:22:26
戸田プロダクション @TodaProduction

@toratorax 先日お送りしたテスト版 (ver 1.31 - TEST) では、確かタスクトレイに入れるか?出すか?しか出来なかったと思うのですが、現在、手元の最新開発版では、右クリックメニューで一部機能をタスクトレイに入れたまま使えるため、これまでに無かった状況で不具合が発生しないか?慎重にテストしています。 pic.twitter.com/TzSjPpgMSs

2019-09-26 19:43:48
拡大
戸田プロダクション @TodaProduction

はぁぁぁぁー、ようやく多重起動制御が完成した。いや、多重起動制御自体はとうの昔に成功していたのだが、その後の中断処理の中で、自動電源オンモードの時に限って2個めの EXE が (なぜか) 勝手に再生開始するもんだから、その後始末に手こずっていた。これでなんとかリリース準備を開始出来そう。 pic.twitter.com/h5LAuKYmzX

2019-09-27 10:46:55
拡大
Mitsugu at アレクシス @toratorax

@TodaProduction 右クリックで一部の機能を使えるの良いですね。要望しようかと思っていました。チャンネル変更とかはメインウィンドウを出さずにやりたいところです。

2019-09-27 07:58:44
戸田プロダクション @TodaProduction

@toratorax アイコン化されている時には、前後へのグループ切替とチャンネル切替、そして直前チャンネルへのジャンプが可能です。残念ながら、キーボード長押しによるあの気持ち良い「カッ飛びチャンネル切替」は使えませんが、メニューにも「ラジオパネルを開く」を付けておきますので、それで勘弁してください。

2019-09-27 10:53:53
Mitsugu at アレクシス @toratorax

@TodaProduction 十分だと思います。素晴らしいです。

2019-09-27 11:06:16
戸田プロダクション @TodaProduction

@toratorax 安心しました。それでは近日中のリリースをお待ちください。

2019-09-27 11:07:44
戸田プロダクション @TodaProduction

インターネットラジオ「らじるれ郎」for Windows Version 1.40 coara.or.jp/~tt/soft/rajir… 最小化時のタスクトレイ格納と常駐化に対応した最新版らじるれ郎を公開します。少し雰囲気が変わったので、今回も v 1.3x → 1.4x へのメジャーVUPです。秋の夜長に是非らじるれ郎をお楽しみください (^_^)。 pic.twitter.com/TtGby1YfiB

2019-09-28 01:44:35
拡大
戸田プロダクション @TodaProduction

個人的にタスクトレイをアイコンまみれにすることは強く敬遠してきたため、今までの人生「自作ソフトをタスクトレイに入れる」など思ってもみない考え方でした (^_^;)。しかし実際に使ってみると、これが自分でも驚くほど便利で快適 w。きっかけを与えてくださった @toratorax さんに深く感謝します。

2019-09-28 01:48:10
Mitsugu at アレクシス @toratorax

@TodaProduction そう言ってもらえて光栄です。おそらく視覚障害の人はウィンドウは非表示にしていろいろできるのは喜びます。

2019-09-28 09:00:24
戸田プロダクション @TodaProduction

@toratorax 有り難うございました。プログラミングも面白かったです。今後とも末永くご愛用ください。

2019-09-28 10:07:12
残りを読む(73)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?