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; }
// ---------------------------------------------------------------------------- // 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" ); }