From eb49b32940a98694c002edfb5b407cf451587230 Mon Sep 17 00:00:00 2001 From: ABelliqueux Date: Sun, 18 Feb 2024 18:39:59 +0100 Subject: [PATCH] Fix video export folder, add license, use Tuffy font --- Tuffy_Bold.ttf | Bin 0 -> 94592 bytes main_c.py | 62 +++++++++++++++++++++++++++++++------------------ 2 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 Tuffy_Bold.ttf diff --git a/Tuffy_Bold.ttf b/Tuffy_Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..33fcc8af6d3935497c916ce8432013f2d1de663b GIT binary patch literal 94592 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 U$9`=^`Q6do4|DgAAy)MN0CPZpGXMYp literal 0 HcmV?d00001 diff --git a/main_c.py b/main_c.py index a01c878..661d3b6 100644 --- a/main_c.py +++ b/main_c.py @@ -1,4 +1,26 @@ #!/usr/bin/env python3 +# +# main_c.py +# +# v0.1 - 2024 schnappy +# +# The Tuffy font is public domain and was created by +# Thatcher Ulrich http://tulrich.com +# Karoly Barta bartakarcsi@gmail.com +# Michael Evans http://www.evertype.com +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# A full copy of the GNU General Public License is available from +# https://www.gnu.org/licenses/gpl-3.0.en.html # import collections import gettext @@ -37,6 +59,7 @@ from send2trash import send2trash # X Import config values from config file # X Translation # o Better settings names +# o Allow opening and exporting without a camera connected running_from_folder = os.path.realpath(__file__) alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] @@ -85,13 +108,11 @@ for location in config_locations: camera_settings = project_settings['CHECK'] config_found_msg = _("Found configuration file in {}").format(os.path.expanduser(location)) print(config_found_msg) -# TODO : Check resulting config has needed settings, fill missing ones class KISStopmo(tk.Tk): def __init__(self, *args, **kargs): self.check_config() - print(project_settings) # Default config # Set script settings according to config file self.onion_skin = project_settings['onion_skin_onstartup'] @@ -132,7 +153,7 @@ class KISStopmo(tk.Tk): self.img_list = {} self.img_list = self.get_frames_list(self.savepath) self.img_index = self.check_range(len(self.img_list)-1, False) - self.splash_text = 'Stopmo!' + self.splash_text = _("No images yet! Start shooting...") # Camera setup self.camera = gp.check_result(gp.gp_camera_new()) try: @@ -143,8 +164,8 @@ class KISStopmo(tk.Tk): if self.check_status(self.camera, self.current_camera_config) is False: print(_("Warning: Some settings are not set to the recommended value!")) except: - self.splash_text = _("Camera not found or busy.") - + self.splash_text += _("\nCamera not found or busy.") + self.timeout = 3000 # milliseconds self.splashscreen = self.generate_splashscreen() @@ -159,7 +180,7 @@ class KISStopmo(tk.Tk): self.label.configure(image=photo) self.label.image = photo - + if project_settings['trigger_mode'] == 'event': root.after(1000, self.trigger_bg_loop) # ~ root.after(1000, self.wait_for_capture) @@ -197,19 +218,16 @@ class KISStopmo(tk.Tk): def generate_splashscreen(self): from PIL import Image, ImageDraw, ImageFont from io import BytesIO - img = Image.new('RGB', (self.screen_w, self.screen_h), (128,128,128)) - d = ImageDraw.Draw(img) + splash = Image.new('RGB', (self.screen_w, self.screen_h), (200,200,200)) + splash_draw = ImageDraw.Draw(splash) if self.splash_text is not None: - fnt = ImageFont.truetype("FreeMono", 50) - fnt_len = fnt.getlength(self.splash_text) - d.text((self.screen_w/2 - fnt_len/2, self.screen_h/2 ), self.splash_text, fill=(255, 0, 0), font=fnt) - # Save to file - # img.save('test.png') + font = ImageFont.truetype("Tuffy_Bold.ttf", 60) + font_len = font.getlength(self.splash_text) + splash_draw.text((self.screen_w/2 - font_len/2, self.screen_h/2 ), self.splash_text, fill=(255, 255, 255), font=font) # Use in-memory - s = BytesIO() - img.save(s, 'png') - # ~ return s.getvalue() - return img + splash_bytes = BytesIO() + splash.save(splash_bytes, 'png') + return splash def find_letter_after(self, letter:str): @@ -301,7 +319,7 @@ class KISStopmo(tk.Tk): existing_animation_files = self.img_list # ~ existing_animation_files = file_list = os.listdir(folder) - print(file_list) + # ~ print(file_list) for file in file_list: if (file.startswith(self.project_letter) and file.endswith(project_settings['file_extension'])): if file not in existing_animation_files: @@ -621,7 +639,7 @@ class KISStopmo(tk.Tk): next_filename = self.return_next_frame_number(self.get_last_frame(self.savepath)) # build full path to file target_path = os.path.join(self.savepath, next_filename) - print(target_path) + # ~ print(target_path) # Get file from camera if event_data is None: # ~ print("j pressed") @@ -636,7 +654,7 @@ class KISStopmo(tk.Tk): event_data.folder, event_data.name, gp.GP_FILE_TYPE_NORMAL) new_frame.save(target_path) # ~ next_filename = prefix+next(filename)+ext - print(self.img_list) + # ~ print(self.img_list) if '{letter}.-001.JPG'.format(letter=self.project_letter) in self.img_list: # ~ self.img_list.pop('A.-001.JPG') self.img_list.pop('{letter}.-001.JPG'.format(letter=self.project_letter)) @@ -674,8 +692,8 @@ class KISStopmo(tk.Tk): def trigger_export_animation(self, event): output_folder = filedialog.askdirectory() - output_folder = "{folder}{sep}{filename}".format(folder=output_folder, sep=os.sep, filename=self.output_filename) - print(_("Exporting to {}").format(output_folder)) + self.output_filename = "{folder}{sep}{filename}".format(folder=output_folder, sep=os.sep, filename=self.output_filename) + print(_("Exporting to {}").format(self.output_filename)) self.export_task = asyncio.run(self.export_animation()) # check with self.export_task.done() == True ? https://stackoverflow.com/questions/69350645/proper-way-to-retrieve-the-result-of-tasks-in-asyncio