Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-03-20 17:42:02 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-03-20 21:11:43 (GMT)
commited19b477e2af88358d112b3e5001a87fc6bf8d65 (patch)
tree461fdd769e43507f2210e84e30ddf971286fa477
parentbf8e68c4818ac6c69f49fd5fe6c18bb783f6ff55 (diff)
Move the x begginig key position to a dictionary
To simplify the code. Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
-rwxr-xr-xdraw_piano.py40
1 files changed, 25 insertions, 15 deletions
diff --git a/draw_piano.py b/draw_piano.py
index 137581e..994dab0 100755
--- a/draw_piano.py
+++ b/draw_piano.py
@@ -78,6 +78,20 @@ class PianoKeyboard(Gtk.DrawingArea):
logging.error('key_width %s', self._key_width)
self._black_keys_height = self._height * 2 / 3
self._octave_width = self._key_width * 7
+
+ self._x_start = {'C': 0,
+ 'CB': self._key_width * K2 / D,
+ 'D': self._key_width,
+ 'DB': self._key_width + self._key_width * K2 / D,
+ 'E': self._key_width * 2,
+ 'F': self._key_width * 3,
+ 'FB': self._key_width * 3 + self._key_width * K2 / D,
+ 'G': self._key_width * 4,
+ 'GB': self._key_width * 4 + self._key_width * K2 / D,
+ 'A': self._key_width * 5,
+ 'AB': self._key_width * 5 + self._key_width * K2 / D,
+ 'B': self._key_width * 6}
+
self.set_size_request(-1, self._height)
def __event_cb(self, widget, event):
@@ -263,61 +277,57 @@ class PianoKeyboard(Gtk.DrawingArea):
self._draw_label(ctx, x, octave_number, 0, False, highlighted)
def draw_CB(self, ctx, octave_number, highlighted=False):
- x = self._key_width * (octave_number * 7) + self._key_width * K2 / D
+ x = self._key_width * (octave_number * 7) + self._x_start['CB']
self.draw_black(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 1, True, highlighted)
def draw_D(self, ctx, octave_number, highlighted=False):
- x = self._key_width + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['D']
self.draw_key_T(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 2, False, highlighted)
def draw_DB(self, ctx, octave_number, highlighted=False):
- x = self._key_width + self._key_width * K2 / D + \
- self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['DB']
self.draw_black(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 3, True, highlighted)
def draw_E(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 2 + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['E']
self.draw_key_J(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 4, False, highlighted)
def draw_F(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 3 + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['F']
self.draw_key_L(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 5, False, highlighted)
def draw_FB(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 3 + self._key_width * K2 / D + \
- self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['FB']
self.draw_black(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 6, True, highlighted)
def draw_G(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 4 + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['G']
self.draw_key_T(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 7, False, highlighted)
def draw_GB(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 4 + self._key_width * K2 / D + \
- self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['GB']
self.draw_black(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 8, True, highlighted)
def draw_A(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 5 + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['A']
self.draw_key_T(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 9, False, highlighted)
def draw_AB(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 5 + self._key_width * K2 / D + \
- self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['AB']
self.draw_black(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 10, True, highlighted)
def draw_B(self, ctx, octave_number, highlighted=False):
- x = self._key_width * 6 + self._key_width * (octave_number * 7)
+ x = self._key_width * (octave_number * 7) + self._x_start['B']
self.draw_key_J(ctx, x, highlighted)
self._draw_label(ctx, x, octave_number, 11, False, highlighted)