<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ 2023年7月の投稿［16件］ - 電装工芸日記 - 舞台照明機器の製作とか - ]]></title>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi</link>
	<description><![CDATA[ 今年は開発案件を進めたい ]]></description>
	<language>ja</language>
	<copyright>Copyright 2026</copyright>
	<lastBuildDate>Thu, 30 Apr 2026 20:43:06 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" target="_top">てがろぐ</a> Ver 3.4.0 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　オフの今日は LTC Player のソースコードを整理し… ]]></title>
	<description><![CDATA[ 　オフの今日は LTC Player のソースコードを整理しております。<br />　出来るだけ class 化しているのですが、慣れれば平文で書くのと大差ありません。書き上がったコードはむしろ読みやすい。VSCodeは折り畳みが出来たり、自分なりにわかりやすいと思えるコメント文を入れているのものありますけどね。<br />　メインのウィンドウの描画の再現まで完了しましたのでデザインの手直しにかかります。変更というよりは書いていなかったパラメータの追加が主な作業です。<br />　明日からは山積みの本業に手を付けないといけませんので進むかな？<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔268文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=676</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=676</guid>
	<category>tegalog</category>
	<pubDate>Mon, 31 Jul 2023 17:59:25 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　バレエ発表会で道具だけ。転換は休憩の時だけなので緩い現場で… ]]></title>
	<description><![CDATA[ 　バレエ発表会で道具だけ。転換は休憩の時だけなので緩い現場です。<br /><br />　Python の記述エディタを VSCode に変更しました。<br />　インストールするべき拡張機能は次の通り。<br />１）Japanese Language Pack for Visual Studio Code（VSCodeを入れたらまず入れるべき拡張機能）<br />２）Python Extension Pack（拡張機能が<del class="decorationD">３つ</del>６つ入る。この中のPythonだけでもいいらしいけど、全部入れた方が便利だと思う)<br />　こんだけでいいならもっと早く使えばよかったなと。<br /><br />　VSCodeはいいっすね。「オイラ便利だろ！」という主張がほぼ無くサラッと便利。<br />　軽いし、無駄な装飾は無いし、わかりやすいし、こんなバランスが良くてスマートなツールが microsoft 発祥とは意外だったりして。<br />　VSCode はお勧めです。<br /><br />　LTC Player のソースコードを整理しようとしていますが、import した自作ファイルの変数の有効範囲などを改めて確認しています。スマートな記述のためには大事なことです。<br />　試してシミジミ実感したのですが、出来るだけ class で記述した方が可読性が高いですわ。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔534文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=675</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=675</guid>
	<category>tegalog</category>
	<pubDate>Sun, 30 Jul 2023 10:45:48 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　まだまだ途中ではあるものの使えるっちゃ使える LTC_Pl… ]]></title>
	<description><![CDATA[ 　まだまだ途中ではあるものの使えるっちゃ使える LTC_Player で本業の音源チェックをしています。<br />　思いっきり自画自賛ですが、コレ、便利です。<br />　作った本人だからってのが８１%くらいありそうですけど、こうやって実務で使うと完成イメージが具体的になります。<br />　今は設定変更のロックを機能別にしていますが、Play_Mode という括りで良さそうです。本番モード、リハモード、机上作業モード、プレイリスト編集モードって感じです。各種設定のロックの組み合わせがモードの違いとなりますが、機能単位でロックを掛けられるようにしていますので変更するのは簡単です。<br /><br />　私のプログラムの書き方を整理しますと「状態を把握」「処理の振り分け」「パラメータとフラグの設定」「パラメータとフラグを見て最終処理」ってのを１フェーズ単位にして管理しています。バグが多く発生する書き方は処理を振り分ける際に一部の最終処理までしてしまう書き方だったので、幾重にも重なったふるいにかけて粉を落とすイメージでフラグを立て、最後に落ちて来たフラグを見て最終処理をするのです。その都度結果を求めると整合性を取るのが大変になり、それこぞバグの原因になるのでした・・・私の場合ですけどね。完全独学ですから王道の書き方なんて知りませんが、一本筋の処理フェーズしかないPICのアセンブラで染みついた構築の仕方です。ガチガチで汎用性が狭い感じがしますが、発展させると疑似的なマルチスレッドも構成出来ます。PICではタイマー１個でポーリングによる複数の時間分岐を得る書き方をレギュラー化していますが、これって精度は低いけどRTOSっぽくね？とか思いながら使っています。タイムスレッドと勝手に呼称している書式ですが、余程のレスポンスを求めないなら割込みを使わずタイムスレッドとモジュールの割込みフラグによるポーリング処理で複数の処理をPICの中で実現出来ています。特別なレスポンスを求める要素にだけ割込みを使い、高級言語で言うところの sleep を絶対に使わない方針です。<br />　ソフトウェアは時間の管理が一番大事だと思う今日この頃。適切に時間が管理されていればインプットもアプトプットも整合性を持って管理出来ます。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔949文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=674</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=674</guid>
	<category>tegalog</category>
	<pubDate>Thu, 27 Jul 2023 20:24:08 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Table のカラム幅の自動調整で少し悩む。 ]]></title>
	<description><![CDATA[ 　Table のカラム幅の自動調整で少し悩む。<br />　初期サイズからウィンドウ枠をドラックするサイズ変更を１回でもやれば問題ないのですが、初期サイズからいきなり最大化(フルスクリーン)するとカラム幅が期待値にならない。一見良いのですが全体的に平均的な幅になろうとします。<br />　ウィンドウサイズが初期値以下になると初期値に戻る機能を付けていたので、サイズ変更後にこの機能が１回余計に発動する騙しを入れたところ解決。上記のウィンドウ枠をドラックしてサイズ変更することが自動的に起こる様にしたワケ。ウィンドウサイズを変更をした後の画面復帰が少し遅くなりますが、頻繁に行われる操作ではないのでいいかなと。フラグを使えば起動後一回だけの動作に出来るので書き換えてみます。<br />　PySimpleGUI はこういった騙しみないなのを入れないと期待値を得られないことがあるようです。<br /><br />　あと、列ごとに左寄せ、センタリング、右寄せの指定が出来ないのがシックリこない。<br />　調べたところ次のバージョンのPySimpleGUIでは対応するとのこと。GitHubにあるバージョンを手動インストールすれば今でも出来るらしいですが、pipで入手するにはもう少し待たなければならないようです。<br />　フォントの指定も列ごとに出来るといいのですけどね。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔563文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=673</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=673</guid>
	<category>tegalog</category>
	<pubDate>Thu, 27 Jul 2023 08:54:40 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PySimpleGUI にてウィンドウのサイズを取得出来ま… ]]></title>
	<description><![CDATA[ 　PySimpleGUI にてウィンドウのサイズを取得出来ました。<br />　これは基本情報です。<br /><br />　課題は Windows サイズに合わせて Table のカラム幅を自動調整する方法です。<br />　純正のドキュメントには解決策が無くネットをしばらく徘徊。<br />　結論から言うと解決したのですが、Tkinter のパラメータを PySimpleGUI から直接操作すると思われるコマンドでカラム幅を直接指定しました。<br />　Tkinter を知らないので全く理解出来ていませんが、先達の例文にあった定型文を試したところビンゴでした。<br />　細かい調整は沢山ありますが、根本的なところは解決したので一安心です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔301文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=672</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=672</guid>
	<category>tegalog</category>
	<pubDate>Wed, 26 Jul 2023 20:41:47 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　本業が詰まってしまい工作が進みません。 ]]></title>
	<description><![CDATA[ 　本業が詰まってしまい工作が進みません。<br />　困ったような仕方ないような。<br /><br />　さて、合間に調べモノと妄想はしています。<br />　課題は PysimpleGUI のウィンドウのサイズを変更しても画面レイアウトを成立させるにはどうするかです。<br /><br />　まずは基本情報の位置とサイズの取得です。<br />　位置(左上の角)は sg.window.current_location() を用います。Tupleで(width, height)を取得出来ます。<br />　ウィンドウサイズを取得するには sg.window.size を用います。Tupleで(width, height)を取得出来ます。ちなみに size の後にカッコは入れません。<br />　ウェジットのサイズも同様の方法で取得出来ます。<br />　ただ、PysimpleGUIはウェジットのサイズ指定が文字数/行数単位とピクセル単位が混在していますので、取得したサイズ情報からウェジットのサイズ指定をどのようにするか熟慮しないといけません。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔438文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=671</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=671</guid>
	<category>tegalog</category>
	<pubDate>Wed, 26 Jul 2023 11:52:24 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Python をスレッドに分ける基準についてオレメモです。 ]]></title>
	<description><![CDATA[ 　Python をスレッドに分ける基準についてオレメモです。<br /><br />　待ち時間が発生する処理単位をスレッドとして独立化することが基本的な考え方でしょう。デバイスの応答待ちや重い処理の終了待ちがある場合です。この間に何もしなくていいならスレッド化をする必要はありませんが、大概は待ち時間に他の処理を平行して行うことになるからです。<br />　この様な想定がされる場合は最初からマルチスレッドで書き始めるのが良さそうです。主処理を親スレッドとしてサブルーチン的な子スレッドを定義する手もありますが、親スレッドはスレッド間通信の管理と子スレッドの起動・終了だけを扱うようにするとわかりやすいような気がします。<br />　スレッド間通信の手段はデータ量や求める速度によりますが Queue を使うのが良さそうです。Tuple で包めばどんな型でもやりとり出来ますし、FIFO スタックなのでスレッド間のタイミング管理が楽です。<br /><br />　こういった検討する場合、一つのプロセスで処理しきれるかも同時に検討します。OS次第ではありますが、一つのプロセスは一つのCPUスレッドで処理されるのが普通ですから、処理が重い場合はプロセスを分けてCPUスレッドを分散させた方がいいこともあります。ただし、プロセスを分けると子プロセスを起動するのに時間がかかり、プロセス間通信も手続きが煩雑ですので、ハードウェアの能力を余すところなく使えそうなマルチプロセスが必ずしも最良の選択とは言えません。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔632文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=670</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=670</guid>
	<category>tegalog</category>
	<pubDate>Fri, 21 Jul 2023 12:44:36 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　コロナも明けた感じで繁忙期に入っています。開発・製作をする… ]]></title>
	<description><![CDATA[ 　コロナも明けた感じで繁忙期に入っています。開発・製作をする時間が取りにくくなってきました。<br />　LTC Player は早く欲しい気持ちはあるものの、近日中に使いたい案件があるワケではありません。１年くらいかけてノンビリ作るつもりです。<br />　先日も書きましたが、Python らしい様式で書き直そうと思います。マルチスレッドの基本構造を最初から組み入れ、平文ではなく構造化・ライブラリ化(ヘッダーファイル化)を進め、可能な部分は出来るだけクラス化するのです。<br />　PysimpleGUIも読みやすく手直しがしやすい書き方を検討したいですね。ウェジット一つにも設定項目が多いのでちょっとしたウィンドウ作るだけで膨大なコマンド数になりますが、これを出来るだけ簡素に書きたいのです。他人に読んでもらう気はありませんが、２年後の自分が理解できるようには書きたいかなと。PysimpleGUIは他の製作でも使いたいので、習作というか自分なりのひな形作りも兼ねるつもりです。<br /><br />　複数のファイルを使って構造的に書いていきますので VSCode を使った方が楽です。RaspberryPi の開発では便利に使っていますが、目的・用途に合わせたセッティングの仕方をオレマニュアルにまとめる必要があります。VSCode は素直で使いやすいエディタだと思うのですが、やれることが多すぎるので最初の段取りをキチンと踏まないと後で困るからです。<br />　ファイル１枚の短いモノなら秀丸エディタでチョイチョイ書いた方が手っ取り早いのですけど、LTC PLayer はそういう規模ではなくなっています。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔691文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=669</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=669</guid>
	<category>tegalog</category>
	<pubDate>Fri, 21 Jul 2023 11:33:18 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　弊社の音響担当に意見を聞きました。使ってもらうために彼らの… ]]></title>
	<description><![CDATA[ 　弊社の音響担当に意見を聞きました。使ってもらうために彼らの慣れに合わせたいと思っているので、私の感覚だけで作りたくないのです。<br />　こちらのイメージも具体的になってきたのでナルホドねぇ～が連発でしたが、そんな話の中で驚いたのはいわゆる叩きに使えるアプリが少ないという事実。<br />　世の中には音楽再生アプリが数多ありますので私が作ったアプリを使ってくれるだろうかと思っていましたが、音響さんにとって便利な機能を積極的に取り込めば割り込む余地はありそうです。<br />　大半の音楽再生アプリはあくまで音楽を聴くことを目的にしているためか操作に対するレスポンスが悪くキッカケ合わせに使うのは難しいのだそうです。私が音源再生のライブラリとして使っているVLCライブラリはレスポンスが良いので不思議です。<br /><br />　マルチスレッド化を考えていますが、その前にソースコードの整理が必要っぽいです。<br />　フラグを用いた逐次処理をベタベタの平文で書いていますが、2000行に届こうともなるとインデックスが使えない平文ではエディタを上下スクロールするだけでも面倒ですし、今後の加筆、修正を考えるとこのままではいけないような気がします。<br />　特に PysimpleGUI の設定が大量なので、せめてこの辺りをＣ言語で言うところのヘッダーファイル化したいものです。定数や関数をオレ様ライブラリ化するのですが、これが正しい書き方なのでしょう。<br />　ここまでを試作とし、Python として美しい書式で新たに書いた方がいいのかな？<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔649文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=668</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=668</guid>
	<category>tegalog</category>
	<pubDate>Wed, 19 Jul 2023 10:56:27 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Pythonでマルチスレッドをする方法を改めて調べていまし… ]]></title>
	<description><![CDATA[ 　Pythonでマルチスレッドをする方法を改めて調べていました。<br />　以前は threading を使いましたが、concurrent.futures が便利っぽい。普通の関数を使うのと大差ない手間で使えます。<br />　しかもマルチスレッドだけでなくマルチプロセスも扱えます。マルチプロセスでも fork して管理する作業が無く、マルチスレッドとほぼ同じ書き方で使えるので、どちらかで書いておけば後から変更するのも簡単。<br />　マルチスレッドとマルチプロセスの違いは先達の書き込みが沢山があるので割愛しますが、今回の用途ではマルチスレッドが良さそうです。処理の総量はシングルプロセスでも十分に間に合っているのですが、ウィンドウマネージャーの待ちとシリアル通信の待ちがかみ合わないことへの措置なので軽快なマルチスレッドなワケです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔367文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=667</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=667</guid>
	<category>tegalog</category>
	<pubDate>Tue, 18 Jul 2023 15:53:48 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　ＥＶがエコである条件は、環境負荷が少ないエネルギー源で電力… ]]></title>
	<description><![CDATA[ 　ＥＶがエコである条件は、環境負荷が少ないエネルギー源で電力を起こし消費量も少ないことです。製造においても運用においてもです。<br />　ところが現実は違うようです。電力の大半を火力発電で賄い、運用エネルギーの消費量も少ないとは言えず、製造ではガソリン車よりも多くのエネルギーを必要とするそうな。<br />　ぶっちゃけ、目の前で排ガスを出さないだけでエコとは呼べないのが今のＥＶです。給電インフラの不足や電池の原料採掘と廃棄のことまで言い出したらキリがありません。<br />　まぁ、目の前で排ガスを出さないのはアリっちゃありっちゃありなんですけど。<br /><br />　そんなこんなの裏で人造石油が注目されています。藻に下水を喰わせて搾り取ったり、炭酸水に原油(種油)を混ぜて培養するなど様々な方法が考案されていますが、人造石油のいいところは大気中の二酸化炭素が原料の一部になること、燃やしても有害物質の発生がとても少ないことなどです。特に硫黄の含有量がほぼゼロなので硫黄酸化物(SOx)の排出が理屈ではゼロです。しかもとても安価に作れるそうな。これは凄いことです。<br /><br />　欠点があるとするなら主要特許を持っているのが日本だということです。<br />　日本車潰し(正確には日本のエンジンメーカー潰し)のためのＥＶ化なのに、このままではＥＶはダメでやっぱり内燃機関でしょとなり燃料まで日本が強くなって本末転倒です。<br />　次世代燃料、高性能電池、レアメタルレス高性能モーターなどの主要特許を日本がほぼ独占しているのは皮肉でしかありません。<br /><br />　他者の足を引っ張ることで一番になろうとしても頂点には立てないという道徳の授業かな？<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e9%9b%91%e8%ab%87" class="taglink" title="雑談">#雑談</a> -- Posted by 電装工芸 〔690文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=666</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=666</guid>
	<category>tegalog</category>
	<pubDate>Mon, 17 Jul 2023 16:50:04 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Player は音源プレーヤー部がほぼ終わり。今後… ]]></title>
	<description><![CDATA[ 　LTC Player は音源プレーヤー部がほぼ終わり。今後は LTC Generator の制御を組み込んでいきます。<br />　LTC Generator の制御部はマルチスレッドを使って音楽プレーヤーと分ける必要があると思われます。LTC Generator との通信は最短で33msec(1/30秒)毎に行われますが、PysimpleGUI の sg.window.read() のタイムアウトを25msecにしているためにタイミングが間に合わない可能性があるからです。タイムアウトをもっと早くすれば良さそうなものですが、これ以上早くすると PysimpleGUI にとってよろしくないのです。あちらを立てればこちらが立たず状態ですが、トータルの処理量には無理は無く、あくまでタイミングの問題ですから、マルチスレッドにすればストレス無く動くと思います。<br />　スレッド間通信には Queue を使えばいいでしょう。共有メモリや Pipe より通信は遅いのですが、List だろうが Tuple だろうがPythonで扱う変数をそのまま扱えるので便利です。通信するデータ量も僅かですから速度が気になることもないでしょう。ちなみに、Queue を送った後にほんの僅かな sleep() を入れると受け側のスレッドが動くまでの時間を短く出来る様です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔579文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=665</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=665</guid>
	<category>tegalog</category>
	<pubDate>Mon, 17 Jul 2023 10:48:10 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Player はいい感じに進んできました。 ]]></title>
	<description><![CDATA[ 　LTC Player はいい感じに進んできました。<br />　PlayListには「Continue」って項目を入れています。音終わりで止める(AutoPauseする)か曲を続けるかの設定です。単に止めて続けても面白くないし、曲間の時間を設定出来たら面白そうなので、曲が終わって次の曲が始まるまでの待ち時間を設定出来るようにしました。0秒にしておけば普通の曲ツナギです。もちろん、待ち時間が終わらなくても PLAY を押せば次の曲に行きます。ついでにマイナス秒も設定出来るようにしてみました。前倒しで曲を終りにする機能です。お尻の無音が長い曲を曲続きにしたい場合に便利かなと。使う人がいるかわかりませんが、ソースを見たら簡単に入れ込めそうだったので欲を出してみました。ライブラリがVLCなので厳密な時間再現は出来ませんけどね。<br />　それにしても、Python のソースなのに明らかにアセンブラっぽい。どう見ても一般的な Python の流儀から外れています。勉強しながら考えなら書いていると体に染みついたアセンブラ風味になってしまうようです。ソースコードを誰かに納品するワケじゃありませんのでオレ流で構わないのですけどね。けど、オブジェクト指向でクラス・インスタンスをベースにするより、フラグベースでリニアな処理手順にした方が分岐が少なくてバグを見つけやすいかもと思ったり。リニアに書くのが非合理的なのでオブジェクト指向なんでしょ！という正論は聞きませんwww<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔635文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=664</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=664</guid>
	<category>tegalog</category>
	<pubDate>Fri, 07 Jul 2023 20:57:40 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PysimpleGUI の使い方が更に見えてきたので LT… ]]></title>
	<description><![CDATA[ 　PysimpleGUI の使い方が更に見えてきたので LTC Player はそれっぽさが増しています。<br />　右クリックメニューが便利ですね。ほとんどのウェジットに設定が出来ます。ボタンを配置することなく操作イベントを起こせるので、使用頻度が少ない操作やパソコンに間違って触れても発生させたくない操作には良いようです。問題は「ここには右クリックメニューがあるよ」をどうやって示すかです。隠しコマンドの様なショートカットキーは嫌いなのでその様にはしたくありませんし、「ここにあるよ」を強く主張したらボタンと同じです。強く主張することなく右クリックメニューがあることを示すデザイン手法が欲しいところです。もう少し研究が必要です。<br /><br />　まだまだα版ですが、「自分が仕事で使うなら欲しい機能」を実装していくのは楽しいですね。<br />　VLC Media Player にもある機能ですが、スライダーで再生位置を設定したり、カーソルキーで少し戻す・送る機能は便利です。音源を聞きながらのデータ整理では能率が良いですし、リハでは「音の終わりから何秒戻したところから再生したい」とかがよくあるからです。されど本番では絶対に触りたくない機能ですから、右クリックメニューで有効/無効を設定出来る様にもしておくと更にイイ感じです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔561文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=663</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=663</guid>
	<category>tegalog</category>
	<pubDate>Thu, 06 Jul 2023 09:06:13 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　某所に設置したサーバー機の OS は Debian です。 ]]></title>
	<description><![CDATA[ 　某所に設置したサーバー機の OS は Debian です。<br />　それ自体が素晴らしいのもありますが、細かい解説を残してくれる先達が多いので、自分がやりたいと思うことはネットを検索すればほとんど解決します。<br />　samba を用いてのファイル共有はその昔の文字コード問題は全く無くアクセスも速いですね。Windows-Server で共有するのと遜色ありません。<br />　Wi-fi のアクセスポイントにもしていますが、汎用の USB-Wifi トングで問題ありません。<br />　VPN(openvpn)で本社のサーバーとも繋げています。ファイルを直接開くのはお勧め出来ないものの、特別なことをせずに本社の共有フォルダにアクセス出来ますから作業性は良いですね。VPNとは拠点間LANとも呼ばれる手法で、疑似的にLANケーブルが繋がっているのと同じ状態を作り上げる手法です。openvpn 以外にDNSサーバーに細工をしてルーティングを施さないといけませんが、要領がわかってしまえば簡単です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc" class="taglink" title="サーバー">#サーバー</a> -- Posted by 電装工芸 〔444文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=662</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=662</guid>
	<category>tegalog</category>
	<pubDate>Tue, 04 Jul 2023 09:03:00 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PysimpleGUI は簡単な画面を簡単に作れますが、母… ]]></title>
	<description><![CDATA[ 　PysimpleGUI は簡単な画面を簡単に作れますが、母体である Tkinter の機能の一部を直接引っ張り出すことで思った以上に細かい作り込みも出来ます。<br />　もちろん、直接使うのに比べたら出来ることは少ないのですが、少ない学習量と記述量でここまで出来るなら御の字だと思います。主なGUIライブラリは、一つのことをするのに「あっちにコレ」「そっちにソレ」と彼方此方に記述をしなければなりません。細かく言うなら、雛形 class をオーバーライドして自分用の class 定義を延々とやらねばならず、Pythonの書き方としては王道なのでしょうが、簡単なことを簡単に実現するには程遠い感じです。<br />　何を以って良しとするかは難しいですが、GUI画面製作の入門として PysilmpleGUI がお勧めなのは間違いありません。class ってイマイチわからない、って人も使えると思います。<br />　もちろん、オブジェクト指向の書き方が出来るプログラム言語で class を使わないのは魅力が半減ですから身に付けるべきですケドね。<br /><br />　本業が詰まってしまい LTC Player の製作は完全に止まっていますが、合間に勉強を進めていきましょう。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> -- Posted by 電装工芸 〔526文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=661</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=661</guid>
	<category>tegalog</category>
	<pubDate>Tue, 04 Jul 2023 08:45:19 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

