Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zLogプラグインを妄想するスレ #43

Open
JG1VPP opened this issue Jul 26, 2022 · 54 comments
Open

zLogプラグインを妄想するスレ #43

JG1VPP opened this issue Jul 26, 2022 · 54 comments
Assignees
Labels
enhancement New feature or request ZyLO Issue about ZyLO

Comments

@JG1VPP
Copy link
Member

JG1VPP commented Jul 26, 2022

真面目な話、zLogプラグインは、クラウド連携や自作ハードウェアとの連携が中心になる。
で、これらの分野でキラーアプリが不足している。というわけで、アイディア出しをしよう。

@JG1VPP JG1VPP added ZyLO Issue about ZyLO enhancement New feature or request labels Jul 26, 2022
@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

CFG/DATデータ自動生成GUIプラグイン

  • DATデータは某所より拝借したJCC/JCGコードから生成
  • CFGデータはボタンをポチポチして生成

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

CWデコーダプラグイン

  • 音声入力からモールス符号を解読
  • CQの文字列からzLogにコールサインを入力

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

HAMLOG連携プラグイン

@jucky154
Copy link
Member

jucky154 commented Jul 26, 2022

CWデコーダプラグインに欲しい機能

https://ja3clm.sakura.ne.jp
 がありますね。(これはハムログやlogger32と連携できるみたいです) これと連携するというのも手かもしれません
しかし、それだと面白くないですし、自分も使っていますが一部難点はあって、モールスの速度や閾値を自動調節してくれるものの自動調節中(前)のものは訂正しないので、EOET1ZLOみたいな感じになってしまい、使いにくいです

よって、ある程度の時間のデータを保持しておき、受信したコールサインやナンバーの候補を提示してくれて、その中から選ぶみたいな感じだと便利かもしれません

@jucky154
Copy link
Member

自作CQマシンとの連携プラグイン

  • CQマシンのハードをハムフェアで販売
  • 動作はUSBIF4CWと同じ

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

zsync (zync)

  • ZLinkよりも強力なzLog同期プラグイン
  • ノード自動認識・自動再接続
  • Gitベースの分散管理により耐障害性が強い

参考: go-git

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

スポラディックE層通知プラグイン

参考: 宇宙天気予報

@jucky154
Copy link
Member

次世代ZPRINT

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 26, 2022

portal

  • リッチなウェブインターフェース
  • 印刷機能
  • 検索機能
  • 天気予報機能
  • 正規表現検索
  • リアルタイム更新
  • 各種のリッチな統計
  • ブラウザを自動起動
  • グーグルで検索する機能
  • コールサイン毎の集計機能
  • 電子ログフォーマット変換機能
  • インポート・エクスポート機能
  • 日本地図の描画・プロット機能
  • コンテストカレンダー表示機能
  • GitHub連携QSOバックアップ機能

ZLISTを置換

@jucky154
Copy link
Member

jucky154 commented Jul 27, 2022

スポラディックE層通知プラグインについて

https://wdc.nict.go.jp/ISDJ/ionospheric-signal-i.html
からデータは取れそうな気がします。しかし、空白区切りだったり、Esが強くて10.0などになった場合は Qui.10.0のように連続してしまいます。このような、データをスクレイビングするにはどうすれば良いのでしょうか?

https://wdc.nict.go.jp/IONO/fxEs/latest-fxEs.html 
というもっと良さげなサイトがあるらしいです… (これが某botの引用元)
tableタグを指定すればよいので https://zenn.dev/kinariru/articles/51b2df87d2962e
を参考にすれば何とかなりそう?

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 27, 2022

正規表現で取り出せば良いのではないでしょうか?

@jucky154
Copy link
Member

https://wdc.nict.go.jp/ISDJ/ionospheric-signal-i.html
は?だったり何かのデータだったりして正規表現だと面倒だなと思った次第です。

https://wdc.nict.go.jp/IONO/fxEs/latest-fxEs.html 
なら直接行けるので楽そうですし、Esプラグインはすぐできそうです

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 27, 2022

ウェブインターフェースでプラグインを作るの、非常に良い試みだと思うんですよね。DelphiやWin32APIを叩いて素敵なUIを作るより、JSでイケてるUIを作る方が楽ですし、ウェブとシームレスに繋がるので、応用が広がります。UIの更新はWebSocket経由で通知を受け取り、Ajaxで再描画すればリアルタイムにできます。

上で挙げたようなプラグインのいくつかは、ウェブインターフェースに統合しても良さそうです。

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 28, 2022

...ていうか、リアルタイムコンテストのプラグイン、ウェブアプリベースの方が良いんじゃないか...!?

@jucky154
Copy link
Member

開発当初はzLogの使用環境から重い機能にならないようにということでwin32APIで開発していましたけど、どちらの方がいいんですかね?

(そういえば、slackにも流しましたが、リアルタイムコンテストの方は再起動させると真っ白になる問題が再発したので停止させています)

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 28, 2022

zLogとは独立したブラウザが起動するので、PC全体の負荷はともかく、zLogが重くなることはない筈です

@jucky154
Copy link
Member

Eスポ通知プラグインを作成しました https://github.com/jucky154/infoEs
(仕様としてはウィンドウ表示時と15分に一回(NICTが15分に一回なので)NICTのHPをクロールしてデータを表示する感じです)

動作の方はある程度デバッグしたつもりですけど、不安なのでstableにはしていません。 点検の方していただけると幸いです。
https://github.com/jucky154/manage_zylo/blob/main/market.toml

使用時の画像は以下のとおりです。
rule-infoEs
list-infoEs

@jucky154
Copy link
Member

jucky154 commented Jul 29, 2022

jr8ppg/zLog#264

いつだったかVPPさんがプラグインでメニューを日本語化できるというような話をしていた気がす…
メニューを日本語化するプラグインは需要があるらしいので一考すべきかもしれない

@JG1VPP
Copy link
Member Author

JG1VPP commented Jul 30, 2022

昔から日本語化はプラグインで対応するものと相場が決まってますね。そして、Win32APIを呼び出せる今、日本語化は簡単に実現できます。最初はメニューバーの日本語化から始めましょう。でも、日本語をハードコーディングするのは具合が悪いので、YAMLファイルを用意して、それを読み取る形になるでしょうね。

@jucky154
Copy link
Member

日本語かプラグインのために試験的にハードコーディングで実装してみたのですが、zLogすら起動しませんでした…
window1のIDが24だったかまでは取得できるのはわかったのですが、それでiteminfoを取得、編集、代入をしようとするとダメです…

package main

import (
	"github.com/gonutz/w32"
	"errors"
	"unsafe"
)

func init() {
	OnLaunchEvent = onLaunchEvent
}

func onLaunchEvent() {
	//型宣言
	var iteminfo *w32.MENUITEMINFO

	//情報取得
	hMenu := w32.HMENU(GetUI("MainForm.Windows1"))
	id := w32.GetMenuItemID(hMenu, 0)
	ok := w32.GetMenuItemInfo(hMenu, uint(id), false, iteminfo)
	if !ok {
		err := errors.New("getmenuiteminfo error")
		DisplayToast(err.Error())
	}
	
	//代入
	title := "機能"
	iteminfo.TypeData = uintptr(unsafe.Pointer(&title))

	ok = w32.SetMenuItemInfo(hMenu, uint(id), false, iteminfo)
	if !ok {
		err := errors.New("getmenuiteminfo error")
		DisplayToast(err.Error())
	}

	//表示
	w32.DrawMenuBar(w32.HWND(GetUI("MainForm")))
	
}

@jucky154
Copy link
Member

jucky154 commented Aug 25, 2022

この中で優先度が高そうなのは、CWデコーダですかね?
https://ja3clm.sakura.ne.jp
をみると、CWデコーダーのアプリのDSCWはCTESTWINやHAMLOGと連携しているようなので…
上のアプリを何らかの手法で対応させるか、これより良い(精度などにおいて)デコーダーを作る必要がありそうですね…

どう手をつけたものか…

@JG1VPP
Copy link
Member Author

JG1VPP commented Sep 11, 2022

鬼のプラグイン

  • ランダムなモールス符号をヘッドフォンに流して撹乱し耳を鍛えるプラグイン
  • メニューやボタンの文字列を全てモールス符号に変えてモールス力を鍛えるプラグイン

@JG1VPP
Copy link
Member Author

JG1VPP commented Sep 11, 2022

zLog自動アップデートプラグイン

  • アップデートをチェック
  • zLog終了時にzlog.exeを退避して、新しいzlog.exeを保存

@JG1VPP
Copy link
Member Author

JG1VPP commented Sep 18, 2022

USBIF4CWプラグイン

  • usbif4cw.dllと密に連携する
  • そもそも現時点でCWキーイングを拾う仕組みがないので、それを先に実装する必要がある

@jucky154
Copy link
Member

usbif4cw.dllに関しては
jr8ppg/zLog#46
において、64bit版が出たら対応とあり
http://nksg.net/usbif4cw/lab/devlib/
で今年の4月に64bit版が出たので、JR8PPGさんとの連携も必要そうですね

@JG1VPP
Copy link
Member Author

JG1VPP commented Sep 18, 2022

Slack連携プラグイン

  • SlackをZLinkの代わりに使う
  • コードスニペットでQSOをやり取り
  • 自動で再接続
  • 得点状況を実況してくれる

@JG1VPP
Copy link
Member Author

JG1VPP commented Sep 18, 2022

OCRで紙ログを電子化するプラグイン

@jj1cvh
Copy link

jj1cvh commented Sep 30, 2022

初めまして。
v2.8.3.1のリリースノートに紹介されているMAPLOTを拝見し、欲しいプラグインをリクエストします。

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 4, 2022

こんにちは。これは、都道府県単位での描画を行うプラグインということでしょうか?今のMaplotは市郡区には対応していますが、都道府県には対応していません。都道府県庁所在地をマーカーでプロットすればとりあえず対応できたことになりますかね?

...それはそれとして、今のMaplotは、役場の所在地をマーカーでプロットしていますが、本当は市区町村を塗りつぶしたいんですよね。そのためには、形状のデータが必要で、これが面倒なんでまだ手をつけてないですが...

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 4, 2022

市区町村を塗りつぶせるならOpenStreetMapから地図データを持ってくる必要ないでは!?

@jj1cvh
Copy link

jj1cvh commented Oct 4, 2022

こんにちは。これは、都道府県単位での描画を行うプラグインということでしょうか?

はい、そうです。ALL JA等での「マルチマップ」として、取得済/未取得マルチを視覚的に把握するために活用したいです。
EzLogは都道府県単位ですが、北海道については「北海道の地域」単位がベターです。
※昔の大学社団局の紙ログ時代は、日本地図の紙を塗りつぶしてました。

マーカーのプロットは、未取得マルチが分からないため、期待しているものとはちょっと異なります。

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 4, 2022

なるほど。形状のデータが必要そうですね。jpCityPoligonが参考になるかも。ポリゴンを描画データとして持つのは重いので、1件交信するごとにビットマップで塗りつぶしていく実装になりそうですね。 @jucky154 どうですか?

@jucky154
Copy link
Member

jucky154 commented Oct 4, 2022

少し重いかもしれないですけど、各県を色塗った透過画像を47枚用意して
https://shiro-16.hatenablog.com/entry/2020/05/29/130508
のように重ね合わせるとかどうなんでしょうか?

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 5, 2022

固定解像度の対応でよければ、そのように実装することはできます。市区町村まで用意すると1700強となりますが、まぁ馬鹿正直に1市区町村1画像で持つ必要もないですね。要するに、Maplotプラグインで使う程度の解像度で、どのピクセルがどの都道府県なのかが、高々1700市区町村までのレベルでわかっていればよいわけで、1ピクセルあたり2バイトの情報量で画像を1枚持っておけば良いだけです。実現の可能性は高いですね。

画像の生成はGoでやるのはだるいので、いつものCartopyでやりますか。

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 5, 2022

このアプローチだと、FDのようにネットが使えない環境でもMaplotを使えるのでユーザ的にも良いでしょう。

@7M4KSC
Copy link

7M4KSC commented Oct 12, 2022

気付いたところ:
・プラグインのライフタイムの説明が欲しい(見逃してたらすみません)。このプラグインはメニューに常時出るけど、cfg/datプラグインは終了すると消えるとか。
・コントロールパネルのCOMの表示へのショートカットか、COMの直接の表示があると便利かも。
・MMTTYがC++Builderでコンパイル出来たので、共同で動かせないか。
・E層F層のプロパゲーションの表示。

@jucky154
Copy link
Member

・ライフタイム関係は @JG1VPP さんお願いします
・コントロールパネルのCOMの表示へのショートカット → コマンドで呼び出すことはできるので、execでできるかも?(ただし、先ほど実験したらpermission deniedだったので微妙ですね) COMpoortの一覧を表示できるライブラリを探す必要がありそうです
・MMTTY→これは以前はzLog側でしたけど、プラグインで対応しますか? @JG1VPP @jr8ppg
・E層F層のプロパゲーション →  できると思います。 いい感じのサイトってありますか? http://www.spacew.com/www/realtime.html が既に404なのでどこから入手しようかなという感じです

@jr8ppg
Copy link

jr8ppg commented Oct 12, 2022

MMTTYは現状では jr8ppg/zLog#219 に書いてあること位でさほど困ってないと思います。
むしろ、今時はFT8に対応した方がニーズはありそうですが、わたくしFT8やらないので全くわかりません。
CTESTWINはFT8に対応しているみたいですけど。

@jucky154
Copy link
Member

今後必要そうなもの:FT8系との連携
参考 : https://twitter.com/nextzlog/status/1396334778979209217

@jucky154
Copy link
Member

jucky154 commented Oct 13, 2022

https://github.com/bugst/go-serial
コントロールパネルのCOMの表示は出来る ただし、存在するCOMport番号だけで、それが何を意味しているかまではわからなかった…
Productがちゃんと実装されていないから…

一応、いろいろ表示できる物を発見
https://github.com/facchinm/go-serial-native

大元のhttps://github.com/mikepb/go-serial はgo get できないし、 https://github.com/facchinm/go-serial-native にしてもgo get すると謎のエラーをそれなりに吐く上に、実行時にも同じ物を出してくるが、大丈夫だろうか?
info.Name()info.Description()あたりを表示するようなプラグインを開発すれば目的のものができそう

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 14, 2022

プラグインのライフタイムの説明が欲しい(見逃してたらすみません)。このプラグインはメニューに常時出るけど、cfg/datプラグインは終了すると消えるとか。

プラグインの利用方法をプラグインの説明文に追加するという事でしょうか?例えば、Eスポ通知プラグインを使うにはインストール後にメニューバーに常駐する、とか、高校コンテストプラグインは高校コンテストに参加している間だけ得点計算を行うとか。

@jucky154
Copy link
Member

@7M4KSC どうでしょうか?
自分はそういう解釈で @JG1VPP さんに話を振りました。

(プラグイン開発者側の話ですが、finish関数で終了する系のものは常時動作し、detach関数で終了する系はコンテスト参加中だけという解釈でいいですかね)

@jucky154
Copy link
Member

jucky154 commented Oct 14, 2022

@7M4KSC

コントロールパネルのCOMの表示へのショートカットか、COMの直接の表示があると便利かも。

以下の画像のようにできました。 いま家にCOMportに表示されるものがArduinoしかなかったため、Arduinoが表示されています。
リグを使った際に製造企業が表示されるかは不明です。
comportlist

ただいま、手直しやデバック中なので来週あたりに公開できると思います

@7M4KSC
Copy link

7M4KSC commented Oct 14, 2022

JG1VPPさん>プラグインの利用方法をプラグインの説明文に追加するという事でしょうか?
はい、その通りです。常時使える物と終了すると消える物が説明文(WEBの説明文)で判明すればいいなぁ、という意味です。
JS2FVOさん>以下の画像のようにできました。
凄い、一瞬ですね。むっちゃ便利になります。FT-710だとCOM系が三つあるそうですし。
JR8PPGさん>MMTTYは現状では jr8ppg/zLog#219 に書いてあること位でさほど困ってないと思います。
なるほど、そうだったんですね。
やっぱ、FT8ですかね。(CTESTWINが全然わからないので、見てみるかなぁ)

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 16, 2022

https://use.zlog.org/plugins で、プラグインの説明にあるDetailsをクリックすることで、詳細な説明が表示されるようにしました。説明はプラグインの管理人に一任されていますが、なるべく詳細な利用方法を(可能であれば図解付きで)掲載することが望ましいです。

@JG1VPP
Copy link
Member Author

JG1VPP commented Oct 31, 2022

Maplotプラグインのバージョンアップが完了

  • インターネット接続が不要に
  • 都道府県・市郡区ナンバーに対応

maplot

@JG1VPP
Copy link
Member Author

JG1VPP commented Nov 2, 2022

プリフィックス検索プラグイン

  • コールサインからプリフィックスを検索
  • 国をメモに追記

@JG1VPP
Copy link
Member Author

JG1VPP commented Nov 2, 2022

Maplotプラグインの開発により、ZyLOのレポジトリに日本地図のデータが格納されており、これを同じレポジトリにある複数の公式プラグインから使う形で有効活用したいですね。地図を使うプラグインって他に何がありますかね?

@7M4KSC
Copy link

7M4KSC commented Nov 5, 2022

地図を使うプラグインって他に何がありますかね?

無い頭を絞ると、コンテスト関連だと、グリッドローケーター、CQ ZONE辺りですかね。
後、何か有るかな?(コンテスト関連では無いですが、道の駅じゃ無くて、公園集めがUS発みたいですが)

@jucky154
Copy link
Member

jucky154 commented Nov 6, 2022

道の駅・公園・川などのアワードは前のmaplotの矢印を立てていく感じが良さそうですね
全ての点を青色にしておいて、交信したら赤色にするとか

@jr8ppg
Copy link

jr8ppg commented Dec 17, 2022

maplotですが、ウインドウが空っぽで何で動かないんだろう?と悩みましたが、ウインドウをでかくすると地図が出てきました。
ウインドウサイズに合わせて地図をリサイズして欲しいです。初期ウインドウサイズはもう少し大きい方がよろしいかと。

@jj1cvh
Copy link

jj1cvh commented Jun 22, 2023

maplotですが、ウインドウが空っぽで何で動かないんだろう?と悩みましたが、ウインドウをでかくすると地図が出てきました。 ウインドウサイズに合わせて地図をリサイズして欲しいです。初期ウインドウサイズはもう少し大きい方がよろしいかと。

マルチマッププラグインをリクエストしたjj1cvhです。
同じく、ウィンドウサイズに応じて地図をリサイズしていただきたいです。

多数のPCを必要とするマルチオペ環境では古いノートPCも多く、1024x768の画面に各ウィンドウをなんとか納めるよう努力している状況のため、現状のウィンドウサイズでは利用できません。
最初にお伝えしたEzLogの日本地図のマルチマップが私にとっては完成形のイメージです。
http://nksg.net/usbif4cw/software/ezlog/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ZyLO Issue about ZyLO
Projects
None yet
Development

No branches or pull requests

5 participants