10 Context Type - Net Geçiş Kuralları
✅ Tüm Geçiş Kuralları Netlileşti!
Kural:
Genre devam eder
Örnek:
Kullanıcı "Jazz" seçer → Sürekli Jazz şarkıları çalar → Queue bitince yeni Jazz şarkıları çek → ♾️ Infinite Jazz
✅ Geçiş: Genre → Genre (sürekli aynı tür)
Kural:
Album devam eder → Bitince genre'ye geç
Örnek:
Kullanıcı "Kind of Blue" albümü seçer → Albümdeki 8 şarkı sırayla çalar → Albüm bitti! → Genre'ye geç (Jazz) → Sürekli Jazz çalar
✅ Geçiş: Album → Genre (albüm bitince tür devam)
Kural:
Playlist devam eder → Bitince genre'ye geç
Büyük Playlist (500+ şarkı):
Offset mekanizması ile 10'ar şarkı yükle → 500 şarkı bitti → Playlist tamamlandı! → Son şarkıların genre'sine geç → Genre devam eder
✅ Geçiş: Playlist → Genre (playlist bitince tür devam, LOOP YOK!)
Kural:
Seçilen sektöre bağlı playlistler devam eder
Örnek:
Kullanıcı "Restoran & Kafe" sektörü seçer → Sektöre bağlı 5 playlist var → Bu 5 playlist pool'undan rastgele şarkılar çek → ♾️ Infinite sector music
✅ Geçiş: Sector → Sector Playlists (sürekli sektör müziği)
Kural:
Seçilen radio'ya bağlı playlistler devam eder
Örnek:
Kullanıcı "Chill Radio" seçer → Radio'ya 4 playlist atanmış → Bu 4 playlist pool'undan karışık şarkılar çek → ♾️ Infinite radio
✅ Geçiş: Radio → Radio Playlists (sürekli radio mix)
Kural:
Popüler devam eder → Bitince son şarkıların albümü → Albüm bitince genre
Geçiş Akışı:
1. Popüler şarkılar çalar (play_count DESC)
2. Popüler şarkılar pool'u bitti (örn. top 100)
3. Son çalan 5 şarkının albümlerini al → En çok tekrar eden albüm
4. O albümden devam et
5. Albüm bitti → Genre'ye geç
✅ Geçiş: Popular → Album → Genre (3 aşamalı)
Kural:
Son eklenenler devam eder → Bitince son ID'den eklemeye devam eder
Örnek:
1. Son eklenen 100 şarkı çalar (created_at DESC, song_id > 5000)
2. 100 şarkı bitti
3. Son şarkının ID'si: 5000
4. Daha eski şarkıları çek (song_id < 5000, created_at DESC, limit 10)
5. ♾️ Infinite recent (geriye doğru gider)
✅ Geçiş: Recent → Recent (son ID takibi ile sürekli)
Kural:
Favoriler devam eder → Bitince son şarkıların albümü → Albüm bitince genre
Geçiş Akışı:
1. Kullanıcının 50 favori şarkısı çalar
2. Favoriler bitti
3. Son çalan 5 şarkının albümlerini al → En çok tekrar eden albüm
4. O albümden devam et
5. Albüm bitti → Genre'ye geç
✅ Geçiş: Favorites → Album → Genre (3 aşamalı)
Kural (Önerilen):
Artist şarkıları devam eder → Bitince son şarkıların albümü → Albüm bitince genre
Örnek:
1. Kullanıcı "Miles Davis" seçer
2. Miles Davis'in 120 şarkısı çalar
3. Artist şarkıları bitti
4. Son 5 şarkının albümlerini al → En çok tekrar eden albüm (örn. Kind of Blue)
5. Kind of Blue albümünden devam et
6. Albüm bitti → Genre'ye geç (Jazz)
❓ Soru:
Artist bittikten sonra direkt genre'ye mi geçmeli, yoksa albüm aşaması olmalı mı?
✅ Önerilen: Artist → Album → Genre (favorites gibi)
Kural (Önerilen A):
Arama sonuçları devam eder → Bitince son şarkıların albümü → Albüm bitince genre
Kural (Alternatif B):
Arama sonuçları devam eder → Bitince arama query'si genre ise genre'ye geç
Örnek: Kullanıcı "jazz" aradıysa ve sistem "Jazz" genre'sini tespit ettiyse → Genre context'e geç
Örnek (A):
1. Kullanıcı "blue" arar → 35 sonuç
2. 35 şarkı çalar
3. Arama sonuçları bitti
4. Son 5 şarkının albümlerini al → En çok tekrar eden albüm
5. O albümden devam et
6. Albüm bitti → Genre'ye geç
❓ Soru:
Search bittikten sonra hangi mantık daha iyi? A (Album → Genre) mi yoksa B (Smart genre detection)?
✅ Önerilen: A (Search → Album → Genre) - Daha basit ve tutarlı
| Context | Devam | Bitince | Final |
|---|---|---|---|
| 1. Genre | Genre | - | ♾️ Genre |
| 2. Album | Album | → Genre | ♾️ Genre |
| 3. Playlist | Playlist | → Genre | ♾️ Genre |
| 4. Sector | Sector Playlists | - | ♾️ Sector |
| 5. Radio | Radio Playlists | - | ♾️ Radio |
| 6. Popular | Popular | → Album → Genre | ♾️ Genre |
| 7. Recent | Recent (son ID) | - | ♾️ Recent |
| 8. Favorites | Favorites | → Album → Genre | ♾️ Genre |
| 9. Artist | Artist | → Album → Genre ❓ | ❓ Onay bekliyor |
| 10. Search | Search | → Album → Genre ❓ | ❓ Onay bekliyor |
✅ Sonuç: Tüm Yollar Genre'ye Çıkar!
8/10 context type'ı sonunda Genre context'e geçiyor (infinite music). Sadece Sector ve Radio kendi içinde dönüyor.
Artist şarkıları bittikten sonra:
Seçenek A (Önerilen):
Artist → Album (son şarkıların) → Genre
Seçenek B:
Artist → Genre (direkt)
Arama sonuçları bittikten sonra:
Seçenek A (Önerilen):
Search → Album (son şarkıların) → Genre
Seçenek B:
Search → Smart genre detection (eğer "jazz" arattıysa Jazz genre'sine geç)