プログラムでおかえしできるかな

Python、フェイジョア、日常のあれこれでお返し、元SEの隠居生活。

タイマー付レシピ アプリ【フリー】

このエントリーをはてなブックマークに追加

タイマー付きレシピ アプリを作成しました。
レシピの中にある「n分」をクリックすると
カウントダウンタイマーを起動します。
タイマーアプリの起動も時間のセットもいりません。
レシピがないと料理できない料理初心者に最適です。

▽アプリの画面

Pythonで作成 アプリの作成方法はこちらの記事で紹介しています。
📖 タイマー付レシピ アプリの作り方【Python】 🔗
目次

◆主な機能

  • レシピに入力した調理時間でタイマーを起動することができます
  • レシピを手順、材料、説明に分けて入力、表示します
  • 手順にある「n分」に背景色を付けて表示します
  • 色分けされた「n分」をクリックするとその時間でタイマーが起動します
  • 終了時間がくるとアラームで知らせます
  • 説明にある URL を青の文字色で表示します
  • URL をクリックするとデフォルトブラウザで表示します
  • 入力したレシピをファイルに保存、読み込みできます
  • 保存したレシピを読み込むと料理名順に並べ替えて表示します

◆使い方

◇起動と画面

recipe_juu7g.exe を起動します。

※PC 起動直後は実行開始までに 10秒以上かかります。ご了承ください。

▽ファイルが存在しない警告画面
 初めて起動した時に出ます。レシピを入力後、保存すると出なくなります。

 

▽初期画面

 

▽データ入力後の画面
 時間の背景色は追加した後に付きます。

◇操作方法

  • 新しいレシピの追加
    起動直後の表示のない画面、または別のレシピを表示した画面で編集してください
    ※画面を空にする機能はないので似たレシピを基に編集してください

    1. 手順、材料、説明の編集エリアに内容を入力します
      • 手順に「n分」を入力すると後でタイマーを起動できます
      • 「n分」は全角でも半角でも構いません
      • 説明に URL を入力すると後でリンク先をデフォルトブラウザで表示できます
    2. 追加ボタンを押します
      • 保存ボタンの表示が「保存(変更あり)」となります」
      • 追加ボタンを押さないでレシピを切り替えると入力した内容はなくなります
    3. 料理名入力ダイアログが表示されます
    4. 料理名を入力して Enter を入力します
    5. 保存ボタンを押します
      • アプリを終了するまでに保存しないと入力した内容はなくなります
  • 既存レシピの更新
    変更するレシピを選択した状態で

    1. 手順、材料、説明の編集エリアの内容を編集します
      • 更新ボタンの表示が「更新(変更あり)」となります」
    2. 更新ボタンを押します
      • 保存ボタンの表示が「保存(変更あり)」となります」
      • 更新ボタンを押さないでレシピを切り替えると入力した内容はなくなります
    3. 保存ボタンを押します
      • アプリを終了するまでに保存しないと入力した内容はなくなります
  • 既存レシピの削除
    削除するレシピを選択した状態で

    1. 削除ボタンを押します
      • 保存ボタンの表示が「保存(変更あり)」となります」
    2. 保存ボタンを押します
      • アプリを終了するまでに保存しないと削除した内容は残ります
  • タイマーの起動

    1. 手順編集エリアにある背景色の付いた時間をクリック
    2. タイマーが起動
      • 表示されている時間で起動します
  • URL をデフォルトブラウザで表示

    1. 説明編集エリアにある青い文字色の付いた URL をクリック
    2. デフォルトブラウザーで URL を表示
  • アラームの確認
    タイマーを起動する前にアラームが鳴るかどうか確認できます

    1. アラーム確認ボタンを押します
    2. アラーム音が再生されます

◇画面の説明

  • 更新ボタン    :タイマーの時間を選択します
  • 追加ボタン    :カウントダウンを開始します
  • 削除ボタン    :シーケンスを選択します
  • 保存ボタン    :シーケンスを開始します
  • アラーム確認ボタン:シーケンスの内容を表示します
  • 手順編集エリア  :手順を入力します。「n分」を入力するとタイマーを起動できます
  • 材料編集エリア  :材料を入力します
  • 説明編集エリア  :説明を入力します。URL を入力するとリンク先を表示できます
  • 料理名一覧    :料理名を表示します。クリックしてレシピを切り替えます

▽ボタンの状態

  • 手順、材料、説明に変更があった場合に「更新(変更あり)」となります
    ボタンを押してデータを更新してください

  • データの更新、追加、削除があった場合に「保存(変更あり)」となります
    ボタンを押してデータを保存してください

◇タイマー動作画面

▽タイマー起動直後の画面
 残り時間を「分:秒」で表示します。
 白いプログレスバーが減っていきます

▽タイムアップ時の画面
 アラームが起動します。

◇レシピ追加

▽データ入力完了時の画面
 この後「追加」ボタンを押します。
 「天つゆ」のレシピを元にして編集したので料理名の「天つゆ」が選択されています。
 このまま「更新」ボタンをクリックすると「天つゆ」の内容が置き換わりますので注意してください。

▽既に存在する料理名で追加しようとすると表示されるエラー
 料理名を変えてください。

▽追加後の画面
 「サンプル」という料理名で追加した画面です。
 追加直後は料理名の最後に位置します。
 保存後、アプリを再度起動すると料理名順に並びます。

◇ファイルに保存

「保存」ボタンを押すと入力されたデータをファイルに保存します。

  • 保存先  :recipe_juu7g.exe を置いたフォルダ
  • ファイル名:my_recipe.json
    ファイル名は固定です。リネームすれば新たに作成します。

▽保存後の確認ダイアログ

◇制限事項

  • 料理名の変更はできません。追加して削除してください。
  • 編集エリアの高さが最小で3行になります。組合せによって3行より大きいことがあります。
  • 「n分」は数字と「分」で判断しています。例えば、「5分割」でも判断してしまいます。
  • 保存ファイル名は my_recipe.json に固定です。

◆設定ファイルで動作条件の設定

本アプリは画面の見栄えをお好みにできるように設定ファイルを用意しています。
主に変更可能なのは、次のものです。

  • レシピ表示部分の文字色、背景色
  • レシピ表示部分の桁数、行数
  • 画面に使われているフォントとフォントの大きさ
  • アラーム

アプリをダウンロードして解凍すると exe ファイルと一緒に設定ファイル settings_recipe.py も解凍されます。
これはテキストファイルなのでメモ帳などで修正してください。

【設定項目と初期値】

  • 背景色と文字色の設定

    項目 初期値 説明
    BG_T_INSS "#ffffe8" 手順の背景色
    FG_T_INSS "black" 手順の文字色
    BG_T_INGS "#e8ffe8" 材料の背景色
    FG_T_INGS "black" 材料の文字色
    BG_T_TIPS "#ffe8e8" 説明の背景色
    FG_T_TIPS "black" 説明の文字色
    BG_P_BAR "white" タイマープログレスバーの背景色
    BG_TAG_TIMER "limegreen" 「n分」の背景色
  • フォント、フォントサイズ

    項目 初期値 説明
    FONT "" フォント
    FONT_SIZE 12 フォントサイズ
  • 編集エリアの幅

    項目 初期値 説明
    TEXT_WIDTH 30 * 2 編集エリアの幅。文字数(半角)。全角で設定したいので2倍
  • 編集エリアの高さ

    項目 初期値 説明
    HEIGHT_T_INSS 10 手順の高さ(行数)
    HEIGHT_T_INGS 10 材料の高さ(行数)
    HEIGHT_T_TIPS 3 説明の高さ(行数)
  • アラーム

    項目 初期値 説明
    ALARM r"Clock-Alarm02-2(Far-Loop).mp3" 起動するファイル名
    変更する場合は絶対パスで指定
    r は残して "" の中を修正

◇色指定について

色の指定方法で簡単なものを2つ紹介します。

  • 名前で指定(例:"black"
  • カラーコードで指定(例:"#000000")※#を忘れずに

色の指定にはこちらのサイトで色を選ぶと便利です。

※日本語の名前での指定できません。

▽背景色を暗くして幅を狭くしたサンプル画像

◇フォントの指定について

フォント、フォントサイズは画面の全ての文字を変更します。
フォントは、「""」で現在のフォントをそのまま使用します。
変更する場合は、コントロールパネル ⇒ フォント で表示される名前を使用してください。

フォント名を表示するツールもあります。
宜しければご利用ください。
詳細は次の記事を参照してください。

ツールの記事:📖 フォント一覧ツール ― 画像サイズを変更し文字透かしを入れるアプリ【フリー】 🔗

◇アラームについて

初期状態で mp3 の音楽ファイルを実行するようにしています。
mp3 ファイルをダブルクリックして、プレーヤーが起動しない場合は、関連付けを行って起動するようにしてください。

ここは設定ファイルに指定したファイルを実行するだけです。
mp3 でなくても画像ファイルを指定すれば画像が開きます。
音があった方が良いでしょうから、動画を設定するというのも良いかもしれません。
設定する場合は、絶対パス(c:\temp...という形式)で指定してください。

◇recipe_juu7g.py設定ファイル

提供しているファイルの内容です。
使い易いように編集してお使いください。

"""
設定
"""

# 背景色と文字色の設定
BG_T_INSS = "#ffffe8"       # 手順の背景色
FG_T_INSS = "black"         # 手順の文字色
BG_T_INGS = "#e8ffe8"       # 材料の背景色
FG_T_INGS = "black"         # 材料の文字色
BG_T_TIPS = "#ffe8e8"       # 説明の背景色
FG_T_TIPS = "black"         # 説明の文字色
BG_P_BAR  = "white"         # タイマープログレスバーの背景色
BG_TAG_TIMER = "limegreen"  # 時間部分の背景色
# フォント、フォントサイズ
FONT = ""                   # フォント
FONT_SIZE = 12              # フォントサイズ
# 編集エリアの幅
TEXT_WIDTH = 30 * 2         # 文字数(半角) 全角で設定したいので2倍する
# 編集エリアの高さ
HEIGHT_T_INSS = 10          # 手順の高さ(行数)
HEIGHT_T_INGS = 10          # 材料の高さ(行数)
HEIGHT_T_TIPS = 3           # 説明の高さ(行数)
# アラーム
ALARM = r"Clock-Alarm02-2(Far-Loop).mp3"    # 変更する場合は絶対パスで指定

◇起動時のエラー

アプリ起動時に次のようなエラーが出た場合、settings_recipe.py ファイルが exe ファイルと同じフォルダに見つかっていません。
フォルダを確認してください。

◆アプリの取得

アプリを含んだzipファイルを下記からダウンロードして取得します。
ダウンロードしたzipファイルを解凍すると次のファイルができます。
任意のフォルダにファイルを保存してください。

  • プログラム :recipe_juu7g.exe
  • 設定ファイル:settings_recipe.py

◇動作環境

  • Windows 64ビット OS

◇更新情報

  • 1.0.0:2024-08-26:初期リリース

◆さいごに

普段、下手な料理をする時にレシピを見てスマホのタイマーをセットするのが面倒でした。
レシピの時間をクリックしたら、タイマーが動いたらいいのにという単純な発想で作りました。
料理は不得手なので、できるレシピも少なく、レシピはメモ用紙にメモしていました。

レシピサイトの情報のエキスを自分の言葉で保存しておけば、使い易いレシピになるのではないかと思います。
はじめは作るのが面倒かもしれませんが、よく作るけど覚えきれないようなレシピから登録すれば、そのうち貯まっていくと思います。
いずれ要望があれば検索機能など追加してみたいと思います。

アプリをスマホ用に作れればもっと便利なのだと思います。
残念ながら今のところその技術がありません。

レシピ アプリとして作成しましたが、少し使い方を考えてみるとタイマーアプリとしても使えることに気が付きました。

▽サンプル画面です。

秒まで判断するようにすれば、タイマーとしては優秀になりますね。
でも、レシピ アプリでは分まででいいかなと、早く動かすことを優先しました。

使っていただけると嬉しいです。


あわせて読みたい 📖 連続動作するタイマー【フリー】 🔗

◇免責事項

ご利用に際しては、『免責事項』をご確認ください。
お気づきの点がございましたら『お問い合わせ』からお問い合わせください。

投稿: 、更新: