38077-vm/core/views.py
2026-02-02 03:05:18 +00:00

42 lines
1.4 KiB
Python

from django.shortcuts import render, get_object_or_404, redirect
from .models import Artist, Preset, EffectModule, AudioEngineSettings
def index(request):
featured_presets = Preset.objects.filter(is_featured=True)[:6]
artists = Artist.objects.all()
return render(request, 'core/index.html', {
'featured_presets': featured_presets,
'artists': artists
})
def artist_detail(request, slug):
artist = get_object_or_404(Artist, slug=slug)
presets = artist.presets.all()
return render(request, 'core/artist_detail.html', {
'artist': artist,
'presets': presets
})
def preset_detail(request, slug):
preset = get_object_or_404(Preset, slug=slug)
steps = preset.steps.all().select_related('module')
return render(request, 'core/preset_detail.html', {
'preset': preset,
'steps': steps
})
def audio_settings(request):
settings, created = AudioEngineSettings.objects.get_or_create(pk=1)
if request.method == 'POST':
settings.driver_type = request.POST.get('driver_type')
settings.buffer_size = int(request.POST.get('buffer_size', 128))
settings.sample_rate = int(request.POST.get('sample_rate', 44100))
settings.save()
return redirect('audio_settings')
return render(request, 'core/settings.html', {
'settings': settings
})
def standalone_download(request):
return render(request, 'core/standalone.html')