GSoC 2018 Week #1 with KDE

1*WLm7XGGmcc7wt5T-Cvac2A

Well, It’s been a week since the coding period started.

There were quite some implementations out of the pre-plans and were huge. They got me very nervous at first. Such changes meant big updation in the code base and lots of time to have everything in place and with no warnings/errors ( well I can’t say much about bugs :p as they always arise in some cases which I or others haven’t tried, but hopefully they will be much less ).

The changes were:

  1. At present we only offered 3 staffs to the user for composing musics, which is not good as the user will then have the capacity to compose only fixed-length musics and that’s not fair, right? So the plan was to have a non-infinite but infinte number of staves. Seems bit confusing? :p
    Well here’s what it means. We will offer by-default 2 staves to the user and place those in a Flickable and more will be added to the view when there is a demand. Now when the last offered staff gets filled, a new staff will be added in such need and the view will be flicked up to display the most recent added one. And again when last staff is filled, one more is added…and this continues. Hence we remove the fixed length music composing dependency on staffs.
  2. Introduce the IPN (also known as SPN or ASPN) notation into the code base and rework the full code to fit the suitability.
  3. Currently we had only the C major scale. The plan introduced to offer more octaves to the user, C3, C4, C5 for both the clefs: Bass and Treble.
  4. Next was to create more svg images for notes with ledger lines (1,2 and 3) for the different type of notes: Whole, Half, Quarter, Eighth.

The tasks were pretty huge, mainly the code rework. I became very restless, tensed and nervous.

I calmed myself, concentrated and learned about them as soon as possible and finally began to shape the plan. On top of it, it were my mentors who provided me the resources to look into and explained and cleared my every doubt, no matter whatever it was or at what time in the night we were discussing. They are as much devoted as me and it helped me a lot.

So, on an overview, the following tasks were completed this week:

1. Added animation to run when the keys are pressed.

2. Align the notes properly with the staffs.

3. Improve the pre-defined music loader window.

4. Changed the way different note-length options were presented to the user. Previously they were presented altogether on a deck. Now they are condensed into one icon and are switchable on clicks.

5. Update multiple staffs to be flickable and add more of them when needed.

6. Introduce new notation system to the code and rework the code to adapt the changes.

7. Added higher and lower octaves for treble and bass cleffs.

8. Created new svg images for all types of notes(whole, half, quarter, eighth) with 1, 2, 3 ledger lines for each of them.

Pheww, finally after all that sense of initial huge-looking tasks, those are now completed and the pressure is much relieved now after the last big commit of the code rework.

It is currently in for review and testing before moving on to complete the next tasks this week.

Finally I thank all my mentors: Timothee Giet, Johnny Jazeix, Divyam Madaan and Emmanuel Charruau for supporting and helping me this much. It would have been very difficult if they weren’t such active.

Leave a comment