GSoC/2018/StatusReports/AmanKumarGupta: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2018‎ | StatusReports
No edit summary
Line 14: Line 14:
==Work Report==
==Work Report==


===Community Bonding Period===
===Piano Composition===


During the community bonding period, I've been in constant touch and communication with my mentors, discussing various aspects of implementing the activities. We had to change the plan of the activity Note names than the one I had planned in the proposal as we explored better ways and pedagogic interests which would be more helpful in remembering the notes.
===='''Introduction:'''====
Also I extended a new branch from the HEAD of master and rebased the previous branch on top of it to continue my works during GSoC in it.
Further I've been working with KDE since the past one year and have also participated in the Season of KDE this year and sucessfully my project, thus I'm well practiced with building the project, working with branches, docementations and code-base and it all went pretty good for me during the Community bonding period.
 
===Coding Period - Phase one (May 14th to June 12th)===
----
====Piano Composition====
 
====='''Introduction:'''=====


This activity teaches the users how to compose melodies with piano by offering them certain components like notes, rests and many features like erase, replace, undo etc.
This activity teaches the users how to compose melodies with piano by offering them certain components like notes, rests and many features like erase, replace, undo etc.


====='''Implementation:'''=====
===='''Implementation:'''====


1. Improved melody loader window UI.
1. Improved melody loader window UI.
Line 40: Line 32:
5. Added rests.
5. Added rests.


6. Added replace and erase toggable features.
6. Added replace and erase features.


7. Added undo feature.
7. Added undo feature.
Line 48: Line 40:
9. Added feature to display lyrics and other details of the music loaded.
9. Added feature to display lyrics and other details of the music loaded.


10. Automated playing of piano when a melody is started.
10. Made note-type options toggable.


11. Made note-type options toggable.
11. Added more octaves for treble (E3 to F6) and bass clefs (C3 to F4).


12. Added more octaves for treble and bass clefs.
12. Created new SVG images with ledger lines.


13. Created new SVG images with ledger lines.
13. Made a common API for all the types of elements on the staff.


14. Did code cleanup and refactorizations.
14. Did code cleanup and refactorizations.


====='''Status:'''=====
===='''Status:'''====


The activity is currently under testing and review.
The activity is complete and is currently under testing and review.


====='''Screenshots:'''=====
===='''Screenshots:'''====


[[File:Loader_window.png]]
[[File:Loader_window.png]]
Line 75: Line 67:
----
----


====Play piano====
===Play piano===


====='''Introduction:'''=====
===='''Introduction:'''====


This activity aims to let the user understand how the piano keyboard can play rythm as written on the musical staff by replicating the ones that are presented.
This activity aims to let the user understand how the piano keyboard can play rhythm as written on the musical staff by replicating the ones that are presented.


====='''Implementation:'''=====
====='''Implementation:'''=====
Line 97: Line 89:
====='''Status:'''=====
====='''Status:'''=====


The activity is currently under review.
The activity is complete and is currently under review.


====='''Screenshots:'''=====
===='''Screenshots:'''====


[[File:IAmReady.png]]
[[File:IAmReady.png]]
Line 114: Line 106:
==Branch where I'm working==
==Branch where I'm working==


Since all the activities will be built upon a common API and need to be sharing lots of code, I'll be carrying all my works in the branch:
The following is the link to all my work and commits:


* [https://cgit.kde.org/gcompris.git/log/?h=gsoc_aman_piano_activities Piano activities]
* [https://cgit.kde.org/gcompris.git/log/?h=gsoc_aman_piano_activities Piano activities]

Revision as of 13:46, 8 August 2018

GCompris: Port all GTK+ piano activities to Qt and get one step closer to version 1.0

GCompris is an educational software suite comprising of numerous activities for children aged 2 to 10. Originally written in Gtk+ its development team started to rewrite it from scratch in Qt Quick. My aim is to port all the piano-based musical activities which are one of the most important activities that we are missing to have a complete 1.0.

Mentors: Divyam Madaan and Emmanuel Charruau

Project Goals

  • Finish the port of Piano composition activity and add more features.
  • Porting of GTK+ Play piano activity from scratch to QtQuick.
  • Re-design and implement Note names activity.
  • Porting of GTK+ Play rhythm activity from scratch to Qt.

Work Report

Piano Composition

Introduction:

This activity teaches the users how to compose melodies with piano by offering them certain components like notes, rests and many features like erase, replace, undo etc.

Implementation:

1. Improved melody loader window UI.

2. Made multiple staff view flickable and add more staffs when needed.

3. Reworked the code base according to IPN Notation.

4. Added contexts for translators.

5. Added rests.

6. Added replace and erase features.

7. Added undo feature.

8. Separated Note data from the Staff view.

9. Added feature to display lyrics and other details of the music loaded.

10. Made note-type options toggable.

11. Added more octaves for treble (E3 to F6) and bass clefs (C3 to F4).

12. Created new SVG images with ledger lines.

13. Made a common API for all the types of elements on the staff.

14. Did code cleanup and refactorizations.

Status:

The activity is complete and is currently under testing and review.

Screenshots:

Music Loader window

Melody composed with piano

Lyrics for the music loaded


Play piano

Introduction:

This activity aims to let the user understand how the piano keyboard can play rhythm as written on the musical staff by replicating the ones that are presented.

Implementation:

1. Added resources from the Gtk+ version.

2. Laid down UI of the activity.

3. Added levels dataset.

4. Implemented working logic of the activity.

5. Added configuration for two modes: colored notes and colorless notes.

5. Code refactorization.

Status:

The activity is complete and is currently under review.

Screenshots:

Levels with colored notes to replicate the rhythm

Levels with colorless notes to replicate the rhythm

Configuration window for the two modes

Branch where I'm working

The following is the link to all my work and commits:

Blog post links

Contact

Email: [email protected]

IRC: gupta2140[m] on Freenode

Channels: #gsoc, #kde-soc, #kde-in, #gcompris

Github: gupta2140