Metadata-Version: 2.4
Name: melek_media
Version: 0.1.0
Summary: Melek AI Asistan Projesi için Ses ve Medya Yönetim Merkezi
Home-page: https://github.com/TearsFearsxf/melek_media
Author: Melek Projesi
Author-email: contact@melek.ai
Project-URL: Bug Tracker, https://github.com/TearsFearsxf/melek_media/issues
Project-URL: Source Code, https://github.com/TearsFearsxf/melek_media
Keywords: audio ducking,media control,ai assistant,pycaw,pyautogui,sound management
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: pycaw>=20240210
Requires-Dist: comtypes>=1.2.0
Requires-Dist: pyautogui>=0.9.54
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<div align="center">
  <h1>🎧 Melek Media Controller</h1>
  <p><b>Melek AI Asistan Projesi için Gelişmiş Ses ve Medya Yönetim Merkezi</b></p>
  
  <p>
    <a href="https://pypi.org/project/melek-media/"><img src="https://img.shields.io/pypi/v/melek-media.svg?color=blue&style=for-the-badge" alt="PyPI Version"></a>
    <a href="https://pypi.org/project/melek-media/"><img src="https://img.shields.io/pypi/pyversions/melek-media.svg?style=for-the-badge" alt="Python Versions"></a>
    <a href="https://github.com/TearsFearsxf/melek_media/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge" alt="License"></a>
    <a href="https://github.com/TearsFearsxf/melek_media"><img src="https://img.shields.io/badge/Platform-Windows-0078D6?style=for-the-badge&logo=windows" alt="Windows Support"></a>
  </p>
</div>

---

**Melek Media**, yapay zeka asistanlarının (özellikle Melek AI) bilgisayarın medya sistemine hükmetmesi ve konuşma anlarında arka plan seslerini zekice yönetmesi için tasarlanmış profesyonel bir Python kütüphanesidir.

## ✨ Öne Çıkan Özellikler

- **🦆 Akıllı Audio Ducking:** Asistanınız konuşmaya başladığında arka plandaki Spotify, YouTube veya herhangi bir medyanın sesini *yumuşak bir animasyonla (fade)* kısar, konuşma bitince eski seviyesine geri yükler.
- **🛡️ Beyaz Liste Koruması:** Asistanın kendi sesi (`python.exe`, `melek.exe`) koruma altındadır. Yanlışlıkla kendi sesini kısmaz.
- **🎛️ Uygulama Bazlı Ses Kontrolü:** Sadece belirli bir uygulamanın (Örn: `chrome.exe`) Windows Volume Mixer seviyesindeki sesini kontrol edebilir.
- **⌨️ Global Medya Tuşları:** Asistanınıza "Şarkıyı durdur", "Sonraki şarkıya geç" veya "Sistemi sessize al" dediğinizde klavye tuşlarını simüle ederek (Play/Pause, Next, Prev, Mute) tepki verir.

## 🚀 Kurulum

Kütüphane doğrudan PyPI üzerinden kurulabilir:

```bash
pip install melek-media
```

*Not: Bu kütüphane Windows Audio Session API (WASAPI) kullandığı için yalnızca **Windows** işletim sistemlerinde tam performansla çalışır.*

## 📚 Kullanım Rehberi

### Temel Başlangıç
```python
from melek_media import MelekMediaController

# Kontrolcüyü başlatın
media = MelekMediaController(fade_steps=15, fade_interval=0.05)
```

### 1. Audio Ducking (Konuşurken Sesi Kısma)
Asistanın konuşma anında arkadaki sesleri kısıp sonra tekrar açmasını sağlayan en kritik fonksiyondur.

```python
import pyttsx3

engine = pyttsx3.init()

# Melek'in söyleyeceği cümleyi tanımlayalım
def asistan_konus():
    engine.say("Merhaba, ben Melek. Müzik sesini kıstım, sizi dinliyorum.")
    engine.runAndWait()

# Konuşmadan önce otomatik kısılır, bittikten sonra tekrar açılır (Hedef %15 ses seviyesi)
media.duck_and_restore(asistan_konus, target_volume=0.15)
```

### 2. Uygulamaya Özel Ses Kontrolü
Windows Ses Karıştırıcısında (Volume Mixer) özel bir programın sesini anında değiştirebilirsiniz.

```python
# Spotify sesini %50'ye ayarla
media.set_app_volume("spotify.exe", 0.50)

# Chrome sesini al
chrome_ses_seviyesi = media.get_app_volume("chrome")
print(f"Chrome ses seviyesi: %{chrome_ses_seviyesi * 100}")
```

### 3. Aktif Ses Kaynaklarını Görüntüleme
Şu anda bilgisayarda hangi uygulamaların ses çaldığını listeyebilirsiniz.

```python
aktif_uygulamalar = media.list_active_audio_apps()
for app in aktif_uygulamalar:
    print(f"Uygulama: {app['name']}, PID: {app['pid']}, Ses: %{app['volume']*100}")
```

### 4. Medya ve Sistem Kontrolleri
```python
media.play_pause()          # Çalan medyayı durdur / başlat
media.next_track()          # Sonraki parçaya geç
media.prev_track()          # Önceki parçaya dön
media.mute_system()         # Sistemi tamamen sessize al / sesi aç (Toggle)
media.volume_up(steps=3)    # Sesi 3 kademe artır
media.volume_down(steps=2)  # Sesi 2 kademe düşür
```

## 🛠️ Mimari ve Bağımlılıklar

Bu kütüphane arka planda şu güçlü paketleri kullanır:
- **`pycaw`**: Windows WASAPI ile Volume Mixer'a doğrudan erişim.
- **`pyautogui` / `ctypes`**: Global işletim sistemi medya kısayol tuşlarının (Virtual Keys) simülasyonu.
- **`comtypes`**: Pycaw'ın Windows COM arayüzü ile iletişim kurmasını sağlayan köprü.

## 📄 Lisans
Bu proje [MIT Lisansı](LICENSE) altında lisanslanmıştır. Dilediğiniz gibi kullanabilir ve geliştirebilirsiniz.

---
*Melek AI Projesi - Geleceğin sesli asistan deneyimi için tasarlandı.*
