Difference between revisions of "Adding a music activity and using gcomprismusic.py module"

From GCompris
Jump to: navigation, search
(How to import the gcomprismusic module)
(How to import the gcomprismusic module)
Line 19: Line 19:
 
Beth Hadley welcomes comments, ideas, contributions, and questions regarding the gcomprismusic module or GCompris music activities. Send her an email at bethmhadley@gmail.com
 
Beth Hadley welcomes comments, ideas, contributions, and questions regarding the gcomprismusic module or GCompris music activities. Send her an email at bethmhadley@gmail.com
  
= How to import the gcomprismusic module =
+
== How to import the gcomprismusic module ==
 
The gcomprismusic.py module is located in the piano_composition-activity. There are certain resources that support the module, and these are permanently located under the resources folder of the piano_composition activity. Thus, you must execute the following instructions to properly import the gcomprismusic module.
 
The gcomprismusic.py module is located in the piano_composition-activity. There are certain resources that support the module, and these are permanently located under the resources folder of the piano_composition activity. Thus, you must execute the following instructions to properly import the gcomprismusic module.
 
<ul>
 
<ul>
Line 34: Line 34:
 
</pre>
 
</pre>
 
</li>
 
</li>
<li> run your activity, and ensure that it works (you should see a screen that says "This is the first plugin in GCompris coded in the Python Programming language."
+
<li> run your activity, and ensure that it works (you should see a screen that says "This is the first plugin in GCompris coded in the Python Programming language." If there are errors, enjoy troubleshooting or contact Beth.</li>
 +
 
 +
== Using The Module ==
 +
Once you've imported the module, you may call or invoke all methods and classes. Instructions and examples are provided below for your reference.
 +
 
 +
=== Musical Notes ===
 +
<li> Each note is assigned a number, stored internally as <code>numID</code> This is to prevent issues with converting between different language translations of note names. The following table explains the notation.
 +
{| class="wikitable"
 +
|-
 +
! English Name
 +
! Northern European Name
 +
! Number
 +
|-
 +
| C
 +
| C
 +
| 1
 +
|-
 +
| D
 +
| D
 +
| 2
 +
|-
 +
| E
 +
| E
 +
| 3
 +
|-
 +
| F
 +
| F
 +
| 4
 +
|-
 +
| G
 +
| G
 +
| 5
 +
|-
 +
| A
 +
| A
 +
| 6
 +
|-
 +
| B
 +
| H
 +
| 7
 +
|-
 +
| C (higher octave)
 +
| C (higher octave)
 +
| 8
 +
|-
 +
| C sharp / D flat (C♯ / D♭)
 +
| Cis / Des
 +
| -1
 +
|-
 +
| D sharp / E flat (D♯ / E♭)
 +
| Dis / Es
 +
| -2
 +
|-
 +
| F sharp / G flat (F♯ / G♭)
 +
| Fis / Ges
 +
| -3
 +
|-
 +
| G sharp / A flat (G♯ / G♭)
 +
| Gis / As
 +
| -4
 +
|-
 +
| A sharp / B flat (A♯ / B♭)
 +
| Ais / B
 +
| -5
 +
|-
 +
|}

Revision as of 21:05, 13 August 2012

If you wish to add an activity relating to music to gcompris, consider importing the module gcomprismusic.py This module contains several useful classes of objects that will not only make it easier for you to make your activity, but also help GCompris maintain a more uniform music platform.

The following music objects are currently included in the module:

  • Piano Keyboard
  • Music Note
    • Eighth Note
    • Quarter Note
    • Half Note
    • Whole Note
  • Musical Staff
    • Bass Clef
    • Treble Clef

The module was developed in 2012 by Beth Hadley through Google Summer of Code. It can always be improved, added to, and adjusted.

The documentation provided below will help you get started using the module. It provides coding examples, with pictures, that will help you create music objects.

Beth Hadley welcomes comments, ideas, contributions, and questions regarding the gcomprismusic module or GCompris music activities. Send her an email at bethmhadley@gmail.com

How to import the gcomprismusic module

The gcomprismusic.py module is located in the piano_composition-activity. There are certain resources that support the module, and these are permanently located under the resources folder of the piano_composition activity. Thus, you must execute the following instructions to properly import the gcomprismusic module.

  • create your new activity (see Beginner if you need help)
  • open init_path.sh and find the pythonplugindir line. Replace this line with something like:
     pythonplugindir=$path/../piano_composition-activity:$path/../name_of_your_activity-activity
    
    save and close this file
  • add a resources folder to your activity folder
  • create a symbolic link in this resources folder that references the piano_composition resources file. If you are unsure of this step, just go into the play_piano activity folder, click on resources, and copy the piano_composition folder and paste that into your resources folder
  • open the python file for your activity, name_of_your_activity, and find at the top where all the import statements are. add the following line to the import statements:
    from gcomprismusic import *
    
  • run your activity, and ensure that it works (you should see a screen that says "This is the first plugin in GCompris coded in the Python Programming language." If there are errors, enjoy troubleshooting or contact Beth.
  • Using The Module

    Once you've imported the module, you may call or invoke all methods and classes. Instructions and examples are provided below for your reference.

    Musical Notes

  • Each note is assigned a number, stored internally as numID This is to prevent issues with converting between different language translations of note names. The following table explains the notation.
    English Name Northern European Name Number
    C C 1
    D D 2
    E E 3
    F F 4
    G G 5
    A A 6
    B H 7
    C (higher octave) C (higher octave) 8
    C sharp / D flat (C♯ / D♭) Cis / Des -1
    D sharp / E flat (D♯ / E♭) Dis / Es -2
    F sharp / G flat (F♯ / G♭) Fis / Ges -3
    G sharp / A flat (G♯ / G♭) Gis / As -4
    A sharp / B flat (A♯ / B♭) Ais / B -5