function SongBlockNotation(swara) 
{
    /**
     * get the block to which this swara belongs to
     * @type SongBlock
     */
    this.getBlock = function() { return this.parent; }

    /**
     * get the swara associated with the notation
     * @type Swara
     */
    this.swara = function() { return this.fSwara; }

    /**
     * get the lyrics associated with the notation (if any)
     * lyric lines for the swara. 
     * @type Lyrics[] 
     */
    this.lyrics = function() { return this.fLyrics; }

    /**
     * does the notation have lyrics?
     * @type boolean
     */
    this.hasLyrics = function() {
	if( this.fLyrics.length > 0 ) return true;
	else return false;
    }

    /**
     * add a lyric to the notation
     * @param {Lyric} lyr	lyric to be added
     */
    this.addLyric = function(lyr) {
	this.fLyrics[this.fLyrics.length] = lyr;
	lyr.parent = this;
	return true;
    }

    /**
     * the swara associated with the notation
     * @type Swara
     * @private
     */
     this.fSwara = swara;
     swara.parent = this;

     /**
      * all the lyrics associated with the notation. It is an array
      * of LyricLines
      * @private
      * @type Lyrics[]
      */
      this.fLyrics = new Array();
}
/**
 * @class represents a notation that is part of a block - the
 * notation consists of a swara and zero or more lyrics
 * @constructor
 * @param swara		the swara for this notation
 */
@class represents a notation that is part of a block - the
notation consists of a swara and zero or more lyrics
@constructor
@param swara         the swara for this notation
@class represents a notation that is part of a block - the notation consists of a swara and zero or more lyrics @constructor @param swara the swara for this notation
function SongBlockNotation(swara) 
{
    this.getBlock = function() { return this.parent; }
    this.swara = function() { return this.fSwara; }
    this.lyrics = function() { return this.fLyrics; }
    this.hasLyrics = function() {
	if( this.fLyrics.length > 0 ) return true;
	else return false;
    }
    this.addLyric = function(lyr) {
	this.fLyrics[this.fLyrics.length] = lyr;
	lyr.parent = this;
	return true;
    }
     this.fSwara = swara;
     swara.parent = this;
      this.fLyrics = new Array();
}
function SongBlockNotation ( swara ) { this . getBlock = function ( ) { return this . parent ; } this . swara = function ( ) { return this . fSwara ; } this . lyrics = function ( ) { return this . fLyrics ; } this . hasLyrics = function ( ) { if ( this . fLyrics . length > 0 ) return true ; else return false ; } this . addLyric = function ( lyr ) { this . fLyrics [ this . fLyrics . length ] = lyr ; lyr . parent = this ; return true ; } this . fSwara = swara ; swara . parent = this ; this . fLyrics = new Array ( ) ; }
@class represents a notation that is part of a block - the
 notation consists of a swara and zero or more lyrics
 @constructor
 @param swara         the swara for this notation
@class represents a notation that is part of a block - the notation consists of a swara and zero or more lyrics @constructor @param swara the swara for this notation
/**
     * get the block to which this swara belongs to
     * @type SongBlock
     */ /**
     * get the swara associated with the notation
     * @type Swara
     */ /**
     * get the lyrics associated with the notation (if any)
     * lyric lines for the swara. 
     * @type Lyrics[] 
     */ /**
     * does the notation have lyrics?
     * @type boolean
     */ /**
     * add a lyric to the notation
     * @param {Lyric} lyr	lyric to be added
     */ /**
     * the swara associated with the notation
     * @type Swara
     * @private
     */ /**
      * all the lyrics associated with the notation. It is an array
      * of LyricLines
      * @private
      * @type Lyrics[]
      */