From 702373e920ce27077fc6fcd12786c0d75eb9da7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Thu, 23 May 2013 15:34:12 +0200 Subject: [PATCH] replaced INTER_CH_GAP with before_channel hook --- sstv.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sstv.py b/sstv.py index f7a1efc..4354de6 100644 --- a/sstv.py +++ b/sstv.py @@ -109,22 +109,23 @@ class GrayscaleSSTV(SSTV): class ColorSSTV(GrayscaleSSTV): RED, GREEN, BLUE = range(3) - INTER_CH_GAP = 0 def encode_line(self, line): cs = self.COLOR_SEQ msec_pixel = self.SCAN / self.WIDTH image = self.image - icg = self.INTER_CH_GAP - for n, index in enumerate(cs): - if n and icg: - yield FREQ_BLACK, icg + for index in cs: + for item in self.before_channel(index): + yield item for col in xrange(self.WIDTH): pixel = image.getpixel((col, line)) value = pixel[index] freq_pixel = FREQ_BLACK + FREQ_RANGE * value / 255 yield freq_pixel, msec_pixel + def before_channel(self, index): + return [] + class Robot8BW(GrayscaleSSTV): VIS_CODE = 0x02 @@ -151,6 +152,10 @@ class MartinM1(ColorSSTV): SCAN = 146.432 INTER_CH_GAP = 0.572 + def before_channel(self, index): + if index != ColorSSTV.GREEN: + yield FREQ_BLACK, self.INTER_CH_GAP + class MartinM2(MartinM1): VIS_CODE = 0x28 @@ -162,7 +167,6 @@ class ScottieS1(MartinM1): VIS_CODE = 0x3c SYNC = 9 SCAN = 138.24 - INTER_CH_GAP = 0 if __name__ == '__main__':