# -*- coding: utf-8 -*-
"""Ejemplo 04: Control de volumen y pan."""

import time
from basskit.alto_nivel import Reproductor, inicializar, liberar


def main():
	print("=== Control de volumen y panorama ===\n")
	inicializar()

	rep = Reproductor()
	# Buscar un archivo de audio para probar
	import sys
	if len(sys.argv) < 2:
		print("Uso: python 04_volumen_pan.py <archivo_audio>")
		liberar()
		return

	rep.abrir(sys.argv[1])
	rep.reproducir()
	print(f"Reproduciendo: {sys.argv[1]}")

	# Volumen de 100% a 10%
	print("\nReduciendo volumen gradualmente...")
	for vol in range(100, 9, -10):
		rep.volumen = vol / 100.0
		print(f"  Volumen: {vol}%")
		time.sleep(0.5)

	# Restaurar
	rep.volumen = 1.0
	print("\nVolumen restaurado al 100%")

	# Pan izquierda a derecha
	print("\nMoviendo panorama izquierda -> derecha...")
	for pan in range(-10, 11):
		rep.pan = pan / 10.0
		lado = "IZQ" if pan < 0 else ("DER" if pan > 0 else "CENTRO")
		print(f"  Pan: {pan/10.0:+.1f} ({lado})")
		time.sleep(0.3)

	rep.pan = 0.0
	print("\nPanorama centrado.")

	rep.detener()
	liberar()
	print("\nFin del ejemplo.")


if __name__ == "__main__":
	main()
