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(); } }
public function query() { return MusicLibrary::displayContents(); }
public function showAll() { MusicLibrary::findAll(); }
} $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">
{ $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();
$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();