Coding Period - V

Riya Lohia
GSoC’18 with Sugar Labs
2 min readJul 8, 2018

Hola folks,

We are gearing towards last month of Coding period.These two weeks have been nice in terms of my project’s progress. This is my sixth blog post related to my GSoC project with Sugar Labs.

After creating circle and graph of notes, next step was to work on the functionality of add/edit button so that user can create their own temperament systems. There are basically four tools to create or edit a pitch space with common temperaments. These tools are ‘Equal’, ‘Ratios’, ‘Arbitrary’ and ‘Octave Space’. In the past two weeks, I worked on the functionality of above mentioned add button.

Milestones achieved in past two weeks :

  • Finished with functionality of Equal edit tool. In the example below, 4 equal divisions would be made between pitch number 0 and 2.
Equal Edit Tool
  • Finished with functionality of Ratios edit tool. In the example below, 2 pitches would be added in pitch space. Frequencies of first pitch (starting pitch * 16/13) and second pitch (starting pitch * (16/13)² ) would be added in such a way that they lie within the octave.
Ratio Edit Tool
  • Finished with functionality of Arbitrary edit tool. In the example below, an arbitrary pitch is added between pitch number 1 and 2.
Arbitrary Edit Tool
  • Finished with functionality of Octave Space edit tool. Standard Octave Space is 2:1. But in the example below, it would be changed to 3:1.
Octave Space Edit Tool
  • Added a ‘Back to 2:1 Octave Space’ button that takes back to 2:1 Octave Space.
  • Added a clear button that clears all the pitches except for a single “0” from which the user may add pitches.
  • Added note information popup for custom(non-standard) temperament systems in such a way that it gives nearest pitch name +/- cents for pitches that do not fit in 12 note system.

Targets for Upcoming Week :

  • Finish with details of edit tools.
  • Finish with the functionality of note information popup’s edit button.
  • Work on ‘save’ (export to a block) button functionality.

--

--