ぷれでたの日記

ゲーム記事が中心です。投資もやってます。コメントはツイッターまで。無断転載禁止。

HSPで紅茶タイマーを作ってみる

2019-11-11 00:01:00 | パソコン




HSPで紅茶用の簡単なタイマーを作ったのでそれについて書く。

ソフト開発は自己責任でやって下さい。
HSPでインターバルタイマーを作ってみる


1.HSPとは(自己責任でやってね)

 HSPというのはWindows用のソフトを作る開発システムだ。
 HSPはHot Soup Processorの略だ。
 割と有名なソフトで簡単なソフトからゲームまで色々なものが作れる。
 ソフト開発というとマイクロソフトのVisualStudioとかがあるけどこちらは面倒な事は無く軽い。
 特にランタイムとか無しで単独で動作するexeファイルも作成可能だ。

 さすがに大規模なソフトとなると厳しいが個人用のものなら十分で使いやすい。
 これまで色々な所でお世話になっている優れもののソフトだ。

 HSP3


2.紅茶タイマー(自己責任でやってね)

 私は今年から紅茶を飲むようになったのだが、インスタントコーヒーと違って
 ティーバックを入れてから少し待つ必要がある。
 その程度のタイマーはいくつかあり、古いキッチンタイマー、スマホ、アレクサ等がある。

 そうなのだがキッチンタイマーとアレクサは時間になった時のアラームがうるさく
 止めるのもいまいち面倒。アレクサは口頭で命令を出すまで延々と鳴っている。

 スマホはその辺は問題無いがPINロックをかけているのでその解除が面倒。
 Windowsで探せばあるのだろうけど簡単な機能で良いので余り面倒なのも嫌。

 という面倒くさがりでパソコンを良く使っている私が適当に作ったソフトだ。
 時間を数えて表示するだけ。しかし、せっかく作ったので公開する事にした。
 普通の人にはあまり役に立つとは思えないのでパソコンを良く使っていて
 HSPに興味がある人が試しに使ってみるのは良いと思う。


3.簡単な説明(自己責任でやってね)

 ・下記のリストをHSPに貼り付けて HSP(P)-コンパイル+実行 で動作する。
 ・HSP(P)-実行ファイル自動作成 でexeファイル作成。
 ・HSP自体の詳しい操作方法はネットで調べて下さい。最新の3.5での動作は確認しています。

 ・初期設定で実行時の位置、秒数、音が変更できます。位置は1920x1080用。
 ・効果音はWindows10なら出ると思いますが他のOSでうまく行かない場合は変更して下さい。
  そのままでも音がでないだけで動作自体は可能です。
  同じフォルダにwavファイルを置くならパス設定は不要です。(ptn)

 ・ノートパソコン等の画面の小さいもので使用する時は初期位置を調整するか
  exeファイルを作成してからそのリンクを作成してそれを
   右クリック-プロパティ-互換性-高DPI設定の変更-高DPIスケール設定の上書き
  にチェックを入れるとそのままの位置でも使えると思います。

 ・どこかのソフト例にありそうな程度のソフトなので自己責任で自由に使ってもらっていいです。
 ・一応、著作権はぷれでたが保持します。(著作権とは良い響きだ)




4.ソースリスト(自己責任でやってね)

;**************************************************

;紅茶タイマー 2019.10 ぷれでた 公開用

;**************************************************

;初期設定
wx = 1550 :wy = 800 ;ウィンドウの初期位置
;wx = 1200 :wy = 600 ;ノートの初期位置
tmdt = 60 ;良く使う秒数
ptn = "C:/windows/media/" ;効果音パス
mn1 = ptn + "Windows Navigation Start.wav" ;クリック音
mn2 = ptn + "Alarm01.wav" ;アラーム音

;**************************************************

px = 130 : py = 100 ;表示位置指定
tim = tmdt ;タイマー値
ITS = 1000 ;1秒毎に割り込み
tmgo = 0 ;タイマー動作
cply = 0 ;クリック音
cply2 = 0 ;アラーム音

#packopt name "Timer01" ;exeファイル名
#define WM_TIMER 0x0113 ;タイマーメッセージ
#define TIMER_ID 1 ;タイマーID
#include "user32.as" ;タイマーAPI

oncmd gosub *OnTimer, WM_TIMER ;タイマー割込み
screen 0,320,200,0,wx,wy ;ウィンドウサイズ
cls 4:color 255,255,255 ;画面初期化
title "紅茶タイマー" ;タイトル表示

gosub *stbtn ;ボタン配置
gosub *LDSound ;効果音読み込み

stop ;一時停止してキー割り込みを待つ

;**************************************************
*statm ;スタート
tmgo = 1 ;タイマーON
gosub *conttm ;タイマー制御
gosub *prttim ;タイマー表示
gosub *pmsc1 ;クリック音
stop ;一時停止

*stoptm ;ストップ
tmgo = 0 ;タイマーOFF
gosub *conttm ;タイマー制御
gosub *prttim ;タイマー表示
gosub *pmsc1 ;クリック音
stop ;一時停止

*restm ;リセット
tim = tmdt ;タイマー設定
tmgo = 0 ;タイマーOFF
gosub *conttm ;タイマー制御
gosub *prttim ;タイマー表示
gosub *pmsc1 ;クリック音
stop ;一時停止

*uptm ;アップ
tim = tim + 60 ;タイマーUP
tmgo = 0 ;タイマーOFF
gosub *conttm ;タイマー制御
gosub *prttim ;タイマー表示
gosub *pmsc1 ;クリック音
stop ;一時停止

;**************************************************
*OnTimer ;タイマー割込み
tim = tim - 1 ;
gosub *prttim ;タイマー表示
if tim<=0 { ;
gosub *prttim ;タイマー表示
pos px,py+30 : mes "タイマー終了" ;
tim = tmdt ;タイマー
gosub *pmsc2 ;アラーム音
KillTimer hwnd, TIMER_ID ;タイマー停止
}
return ;

;**************************************************
*prttim ;タイマー表示
color 0,0,0:boxf px,py,px+200,py+100:color 255,255,255 ;表示を消す
pos px+30,py:mes tim ;
return ;

;**************************************************
*conttm ;タイマー制御
if tmgo = 0 : KillTimer hwnd, TIMER_ID ;タイマー停止
if tmgo = 1 : SetTimer hwnd, TIMER_ID, ITS, 0 ;タイマー起動 1S
return ;

;**************************************************
*pmsc1 ;クリック音
if cply = 1 : mmplay 0 ;音源ありなら再生
return ;
*pmsc2 ;アラーム音
if cply2 = 1 : mmplay 1 ;音源ありなら再生
return ;

;**************************************************
*stbtn ;ボタン配置
x = 20 : y = 20 ;表示位置指定
objsize 80,24 ;ボタン大きさ
pos x ,y:button "スタート",*statm ;ボタン配置
pos x+ 90,y:button "ストップ",*stoptm ;ボタン配置
objsize 50,24 ;ボタン大きさ
pos x+180,y:button "リセット",*restm ;ボタン配置
pos x+240,y:button "アップ",*uptm ;ボタン配置
return ;

;**************************************************
*LDSound ;効果音読み込み
exist mn1 ;ファイルがあるか?
if strsize > 0 : mmload mn1,0 : cply = 1 : pos px,py : mes "クリック音あり" ;
exist mn2 ;ファイルがあるか?
if strsize > 0 : mmload mn2,1 : cply2 = 1 : pos px,py+30 : mes "アラーム音あり" ;
gosub *pmsc1 ;クリック音
return ;

;**************************************************



5.全体的なまとめ(自己責任でやってね)

 なんてことない単純なソフトだが十分に役に立つ。
 パソコンを良く使う人間なので面倒で無く便利だ。
 何か新たに機能を追加したくなったら色々と改造していきたい。

 ほんとにこのHSPは簡単に使えて役に立つ素晴らしいソフトだ。
 開発者の方に感謝したい。







(10分と30分タイマーを追加したり改造した物)
;**************************************************

;紅茶タイマー 2019.10 ぷれでた 公開用

;**************************************************

;初期設定
wx = 1590 :wy = 810 ;ウィンドウの初期位置
tmdt = 60 ;良く使う秒数
ptn = "C:/windows/media/" ;効果音パス
mn1 = ptn + "Windows Navigation Start.wav" ;クリック音
mn2 = ptn + "Alarm01.wav" ;アラーム音

;**************************************************

px = 130 : py = 100 ;表示位置指定
tim = tmdt ;タイマー値
ITS = 1000 ;1秒毎に割り込み
cply = 0 ;クリック音
cply2 = 0 ;アラーム音

#packopt name "Timer01" ;exeファイル名
#define WM_TIMER 0x0113 ;タイマーメッセージ
#define TIMER_ID 1 ;タイマーID
#include "user32.as" ;タイマーAPI

oncmd gosub *OnTimer, WM_TIMER ;タイマー割込み
screen 0,320,200,0,wx,wy ;ウィンドウサイズ
cls 4:color 255,255,255 ;画面初期化
title "紅茶T Ver.1.0.1 by ぷれでた" ;タイトル表示

gosub *stbtn ;ボタン配置
gosub *prttim ;タイマー表示
gosub *LDSound ;効果音読み込み

stop ;一時停止してキー割り込みを待つ

;**************************************************
*statm ;スタート
gosub *timcnt1 ;タイマー共通
stop ;一時停止

*stoptm ;ストップ
gosub *timcnt2 ;タイマー共通
stop ;一時停止

*restm ;リセット
tim = tmdt ;タイマー設定
gosub *timcnt2 ;タイマー共通
stop ;一時停止

*uptm ;アップ
tim = tim + 60 ;タイマーUP
gosub *timcnt2 ;タイマー共通
stop ;一時停止

*min10 ;10分
tim = 600 ;
gosub *timcnt1 ;タイマー共通
stop ;一時停止

*med30 ;30分
tim = 1800 ;
gosub *timcnt1 ;タイマー共通
stop ;一時停止

;**************************************************
*timcnt1 ;タイマーON
gosub *conttm1 ;タイマー制御
goto *timcnt3 ;
*timcnt2 ;タイマーOFF
gosub *conttm0 ;タイマー制御
*timcnt3 ;タイマー共通
gosub *prttim ;タイマー表示
gosub *pmsc1 ;クリック音
return ;

;**************************************************
*OnTimer ;タイマー割込み
tim = tim - 1 ;
gosub *prttim ;タイマー表示
if tim<=0 { ;
gosub *prttim ;タイマー表示
pos px,py+20 : mes "タイマー終了" ;
tim = tmdt ;タイマー
gosub *pmsc2 ;アラーム音
KillTimer hwnd, TIMER_ID ;タイマー停止
}
else {
if tim-(tim/600)*600 = 0 {
gosub *pmsc2 ;10分毎アラーム
}
else {
if tim-(tim/60)*60 = 0 : gosub *pmsc1 ;1分毎クリック音
}
}
return ;

;**************************************************
*prttim ;タイマー表示
color 0,0,0:boxf px-20,py,px+200,py+100:color 255,255,255 ;表示を消す
pos px+20,py:mes tim ;
return ;

;**************************************************
*conttm0 ;タイマー制御
KillTimer hwnd, TIMER_ID ;タイマー停止
return ;
*conttm1 ;タイマー制御
SetTimer hwnd, TIMER_ID, ITS, 0 ;タイマー起動 1S
return ;

;**************************************************
*pmsc1 ;クリック音
if cply = 1 : mmplay 0 ;音源ありなら再生
return ;
*pmsc2 ;アラーム音
if cply2 = 1 : mmplay 1 ;音源ありなら再生
return ;

;**************************************************
*stbtn ;ボタン配置
x = 20 : y = 20 ;表示位置指定
objsize 70,24 ;ボタン大きさ
pos x ,y:button "スタート",*statm ;ボタン配置
pos x+80 ,y:button "10分",*min10 ;ボタン配置
pos x+160,y:button "30分",*med30 ;ボタン配置
objsize 40,24 ;ボタン大きさ
pos x+240,y:button "ストップ",*stoptm ;ボタン配置
pos x+240,y+30:button "リセット",*restm ;ボタン配置
pos x+240,y+60:button "アップ",*uptm ;ボタン配置
return ;

;**************************************************
*LDSound ;効果音読み込み
exist mn1 ;ファイルがあるか?
if strsize > 0 : mmload mn1,0 : cply = 1 : pos px-10,py+20 : mes "クリック音あり" ;
exist mn2 ;ファイルがあるか?
if strsize > 0 : mmload mn2,1 : cply2 = 1 : pos px-10,py+40 : mes "アラーム音あり" ;
gosub *pmsc1 ;クリック音
return ;

;**************************************************
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« アレクサでMP3を再生してみる | トップ | RunKeeperを使ってみる »
最新の画像もっと見る

パソコン」カテゴリの最新記事