diff options
Diffstat (limited to 'hacks/python-playback/ratio.py')
| -rw-r--r-- | hacks/python-playback/ratio.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/hacks/python-playback/ratio.py b/hacks/python-playback/ratio.py new file mode 100644 index 000000000..62320dc8a --- /dev/null +++ b/hacks/python-playback/ratio.py @@ -0,0 +1,56 @@ +# Class to describe a Ratio, and a collection of common +# (and not-so-common) film ratios collected from Wikipedia. + +class Ratio: + def __init__(self, ratio, nickname = None): + self.nickname = nickname + self.ratio = ratio + + # @return presentation name of this ratio + def name(self): + if self.nickname is not None: + return "%.2f (%s)" % (self.ratio, self.nickname) + + return "%.2f" % self.ratio + +ratios = [] +ratios.append(Ratio(1.33, '4:3')) +ratios.append(Ratio(1.37, 'Academy')) +ratios.append(Ratio(1.78, '16:9')) +ratios.append(Ratio(1.85, 'Flat / widescreen')) +ratios.append(Ratio(2.39, 'CinemaScope / Panavision')) +ratios.append(Ratio(1.15, 'Movietone')) +ratios.append(Ratio(1.43, 'IMAX')) +ratios.append(Ratio(1.5)) +ratios.append(Ratio(1.56, '14:9')) +ratios.append(Ratio(1.6, '16:10')) +ratios.append(Ratio(1.67)) +ratios.append(Ratio(2, 'SuperScope')) +ratios.append(Ratio(2.2, 'Todd-AO')) +ratios.append(Ratio(2.35, 'Early CinemaScope / Panavision')) +ratios.append(Ratio(2.37, '21:9')) +ratios.append(Ratio(2.55, 'CinemaScope 55')) +ratios.append(Ratio(2.59, 'Cinerama')) +ratios.append(Ratio(2.76, 'Ultra Panavision')) +ratios.append(Ratio(2.93, 'MGM Camera 65')) +ratios.append(Ratio(4, 'Polyvision')) + +# Find a Ratio object from a fractional ratio +def find(ratio): + for r in ratios: + if r.ratio == ratio: + return r + + return None + +# @return the ith ratio +def index_to_ratio(i): + return ratios[i] + +# @return the index within the ratios list of a given fractional ratio +def ratio_to_index(r): + for i in range(0, len(ratios)): + if ratios[i].ratio == r: + return i + + return None |
