예제 #1
0
 public static function perform()
 {
     if (self::$time == self::$nextSearchComplete) {
         MusicLibrary::searchComplete();
     }
     if (self::$time == self::$nextPlayStarted) {
         MusicPlayer::playStarted();
     }
     if (self::$time == self::$nextPlayComplete) {
         MusicPlayer::playComplete();
     }
 }
예제 #2
0
 public function query()
 {
     return MusicLibrary::displayContents();
 }
예제 #3
0
 public function showAll()
 {
     MusicLibrary::findAll();
 }
예제 #4
0
        }
        $playlistMaster = json_decode(file_get_contents('myPlaylist.txt'), true);
        $playlistMaster['di.fm']['Songs'] = $songs;
        $playlistMaster = json_encode($playlistMaster);
        $file = fopen('myPlaylist.txt', 'w');
        fwrite($file, $playlistMaster);
        fclose($file);
    }
}
/*
 * If library needs to be built
 */
if (isset($_GET['buildLibrary'])) {
    ini_set("max_execution_time", "60000");
    //instatiate necessary classes for getting information
    $musicLibrary = new MusicLibrary();
    $musicLibrary->buildRadioPlaylists();
    //get the files
    $files = $musicLibrary->buildFiles('music/');
    //serialize the files
    //and cache them into a text file
    $fileSerial = serialize($files);
    $fp = fopen('library.txt', 'w');
    fwrite($fp, $fileSerial);
    fclose($fp);
} else {
    $files = unserialize(file_get_contents('library.txt'));
}
?>
<div id="playlists">
예제 #5
0
    {
        $this->music_library = $music_library;
    }
    // 次の曲があるか
    public function hasNext()
    {
        return $this->index < $this->music_library->getSongOfNumber();
    }
    // 次の曲を返す
    public function next()
    {
        echo 'ランダム: ';
        return $this->music_library->getSong($this->index++);
    }
}
$music_library = new MusicLibrary();
// Iteratorを取得
$play_list_asc = $music_library->iterator();
while ($play_list_asc->hasNext()) {
    $song = $play_list_asc->next();
    echo sprintf('曲名: %s 歌手: %s アルバム: %s トラック番号: %s お気に入り: %s', $song['name'], $song['artist'], $song['album'], $song['track_number'], $song['star']) . PHP_EOL;
}
// Iteratorの切り替え
$music_library->changeIteratorDesc();
$play_list_dsc = $music_library->iterator();
while ($play_list_dsc->hasNext()) {
    $song = $play_list_dsc->next();
    echo sprintf('曲名: %s 歌手: %s アルバム: %s トラック番号: %s お気に入り: %s', $song['name'], $song['artist'], $song['album'], $song['track_number'], $song['star']) . PHP_EOL;
}
// Iteratorの切り替え
$music_library->changeIteratorRandom();
예제 #6
0
    $library = $_SESSION['library'];
} else {
    $user = new User($_SESSION['username']);
    $library = new MusicLibrary($user);
    $_SESSION['library'] = $library;
}
$app->group('/music', $authenticate($app), function () use($app, $library) {
    $data = array();
    /*if(!($app->request->isAjax())) {
    			$library->update();
    			$data['allSongs'] = $library->getTracks();
    			$data['allAlbumArtwork'] = $library->getAlbumArtwork();
    		}*/
    $app->get('/', function () use($app, $data) {
        $user = new User($_SESSION['username']);
        $library = new MusicLibrary($user);
        $library->update();
        $data['artists'] = $library->getArtists();
        $data['artistImages'] = $library->getArtistImages();
        $data['albums'] = $library->getAlbums();
        $data['albumArtwork'] = $library->getAlbumArtwork();
        $data['songs'] = $library->getTracks();
        $app->view->setData($data);
        $app->render('/library/music/music.html');
    });
    $app->get('/test', function () use($app, $data) {
        var_dump($_SESSION['username']);
    });
    $app->get('/artists', function () use($app, $data, $library) {
        var_dump($library->getArtists());
        $data['artistImages'] = $library->getArtistImages();