Esempio n. 1
0
JsonBuilder AssignmentGrade::toJson() const {
	JsonBuilder result = Grade::toJson();
	result.add(FieldStringMap::course, course);
	result.add(FieldStringMap::score, score);
	result.add(FieldStringMap::weight, weight);
	result.add(FieldStringMap::loc_recorded, loc_recorded);
	result.add(FieldStringMap::rem_recorded, rem_recorded);

	return result;
}
Esempio n. 2
0
// ----------------------------------------------------------------------------
//
void HttpRestServices::musicPlayerToJson( JsonBuilder& json )
{
    // If we have a music player, return player status
    if ( studio.hasMusicPlayer() ) {
        json.startObject( "music_player" );
        json.add( "player_name", studio.getMusicPlayer()->getPlayerName() );
        json.add( "username", studio.getMusicPlayer()->getUsername() );

        if ( studio.getMusicPlayer()->isLoggedIn() ) {
            DWORD length, remaining;
            UINT queued, played;
            CString track_link;
            bool success = studio.getMusicPlayer()->getPlayingTrack( track_link, &length, &remaining, &queued, &played );

            json.add( "logged_in", true );
            json.add( "queued", queued );
            json.add( "played", played );

            if ( success ) {
                json.startObject( "playing" );
                json.add( "link", track_link );
                json.add( "name", studio.getMusicPlayer()->getTrackFullName( track_link ) );
                json.add( "length", length );
                json.add( "remaining", remaining );
                json.add( "paused", studio.getMusicPlayer()->isTrackPaused() );

                AudioInfo audio_info;
                if ( studio.getMusicPlayer()->getTrackAudioInfo( track_link, &audio_info, 0L ) == OK ) {
                    json.add( "bpm", audio_info.tempo );
                    json.add( "key", audio_info.key );
                }

                json.endObject( "playing" );
            }
            else
                json.addNull( "playing" );
        }
        else {
            json.add( "logged_in", false );
        }

        CString last_error = studio.getMusicPlayer()->getLastPlayerError( );
        if ( !last_error.IsEmpty() )
            json.add( "player_error", last_error );

        json.endObject( "music_player" );
    }
    else
        json.addNull( "music_player" );
}