Tamamlandı

Muzibu Player - Shuffle & HLS Fix

26 Aralık 2025 - Player İyileştirmeleri

Basit Anlatım (Herkes İçin)

Ne değişti? Artık herhangi bir playlist, albüm, genre, sektör veya radyodan müzik başlattığınızda şarkılar rastgele sırayla çalacak. Eskiden alfabetik sırayla başlıyordu.

Neden önemli? Müzik dinlerken her seferinde aynı sırayla başlamak sıkıcı olabilir. Rastgele mod sayesinde her dinlemede farklı bir deneyim yaşarsınız.

Ayrıca: Bazen şarkılar yüklenirken takılma sorunu yaşanıyordu (45 saniye bekleme). Bu sorun artık yok - sistem daha hızlı ve akıcı çalışıyor.

Teknik Detaylar (Geliştiriciler İçin)

Değiştirilen dosyalar ve yapılan işlemler:

Sol Sidebar Scroll Eklendi

Sol menüde ekran yüksekliği kısaldığında artık scroll çubuğu görünüyor. Hover yapıldığında scroll bar belirir.

resources/views/themes/muzibu/components/sidebar-left.blade.php
+ overflow-y-auto scrollbar-thin scrollbar-thumb-white/10

"Playlist Oluştur" Butonu Kaldırıldı

Sol sidebar'dan "Playlist Oluştur" butonu kaldırıldı. Kullanıcılar playlistleri başka yerlerden (context menu, my playlists sayfası) oluşturabilir.

resources/views/themes/muzibu/components/sidebar-left.blade.php
- <button @click="$dispatch('open-create-playlist-modal')">

Play Button Hatası Düzeltildi

Kartlardaki play butonları "window.playContent is not a function" hatası veriyordu. Sebep: play-helpers.js dosyası layout'a eklenmemişti.

resources/views/themes/muzibu/layouts/app.blade.php:59
+ <script src="themes/muzibu/js/player/features/play-helpers.js">

Tüm Play Fonksiyonlarına Shuffle Eklendi

Artık tüm içerik türleri (playlist, album, genre, sector, radio) rastgele sırayla başlıyor. Fisher-Yates algoritması kullanılıyor.

public/themes/muzibu/js/player/features/play-helpers.js
playPlaylist()
playAlbum()
playGenres()
playSector()
playRadio()

HLS Timeout Mekanizması Kaldırıldı

45 saniyelik HLS timeout fallback mekanizması devre dışı bırakıldı. Bu mekanizma bazen gereksiz yere MP3 fallback'e düşüyordu.

public/themes/muzibu/js/player/core/player-core.js:2275-2277
- const hlsTimeoutMs = 45000;
- setTimeout(() => {...}, hlsTimeoutMs);
+ const hlsTimeoutId = null; // Timeout disabled

Eksik Event Handler Eklendi

Sidebar detay sayfasındaki play butonu için play-all-entity event handler'ı eksikti. Artık tüm entity türleri (Playlist, Album, Genre, Sector, Radio) destekleniyor.

resources/views/themes/muzibu/layouts/app.blade.php:366-378
+ @play-all-entity.window="..."
+ Radio desteği eklendi (preview & entity)

Özet

Dosya Değişiklik
sidebar-left.blade.php Scroll eklendi, Playlist Oluştur kaldırıldı
layouts/app.blade.php play-helpers.js eklendi, event handlers
play-helpers.js Tüm play fonksiyonlarına shuffle
player-core.js HLS timeout devre dışı