Changeset 577ce87 in ammosreader for sample_scripts/ammos_viewer.py


Ignore:
Timestamp:
07/01/22 12:32:52 (3 years ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
AmmosSource, guix
Children:
09b290d
Parents:
bcacddc
Message:

use cycle from frame_size and adjust canvas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sample_scripts/ammos_viewer.py

    rbcacddc r577ce87  
    44from PIL import Image, ImageTk
    55from random import randbytes
     6
     7from ammosreader.AmmosAudioReader import AmmosAudioReader
    68
    79class MainApplication(tk.Frame):
     
    1416        self.parent = parent
    1517        self.file_name = "../sample_data/audio_data_sample.bin"
     18        self.ammos_container = AmmosAudioReader(self.file_name).read_all_frames_left()
    1619        self.file = open(self.file_name, 'rb')
    17         self.bytes = self.file.read(2116*50)
    18         self.cycle = 2116
     20        self.bytes = self.file.read(-1)
     21        self.cycle = self.ammos_container.unique_frame_sizes()[0]
    1922        self.cache = 500000000
     23        self.canvas_size = (800, 600)
    2024        self.offset = 0
    2125        self.buildup()
     
    2832        image_frame = tk.Frame(self)
    2933        image_frame.pack(side=tk.LEFT)
    30         self.canvas = tk.Canvas(image_frame, bg="#000000", width=self.cycle, height=600)
     34        self.canvas = tk.Canvas(image_frame, bg="#000000", width=self.canvas_size[0], height=self.canvas_size[1])
    3135        self.canvas.pack()
    32         random_bytes = randbytes(480000)
    33         if len(self.bytes) < 480000:
    34             random_bytes = self.bytes[self.offset:] + bytearray([0xff] * (480000-len(self.bytes)-self.offset))
    35         self.image = ImageTk.PhotoImage(Image.frombytes("L", (self.cycle, int(len(random_bytes) / self.cycle)), random_bytes))
    36         # self.image.show()
     36        # display_size = self.canvas_size[0] * self.canvas_size[1]
     37        # bytes_to_display = randbytes(display_size)
     38        # if len(self.bytes) < display_size:
     39        #    bytes_to_display = self.bytes[self.offset:] + bytearray([0xff] * (display_size-len(self.bytes)-self.offset))
     40        current_bytes = b"".join([self.bytes[each: each+self.canvas_size[0]] for each in range(0, len(self.bytes),
     41                                                                                               self.cycle)])
     42        print("Bytes size", len(current_bytes))
     43        pil_image = Image.frombytes("L", self.canvas_size, current_bytes)
     44        self.image = ImageTk.PhotoImage(pil_image)
     45        # pil_image.show()
    3746        button_frame = tk.Frame(self)
    3847        self.canvas.create_image(0, 0, anchor='nw', image=self.image)
    39         # image_label. = self.image
    4048        button_frame.pack(side="right")
    4149
Note: See TracChangeset for help on using the changeset viewer.