sintonia/api/libretime_api/core/views/stream.py
Jonas L 35d0dec4a8
fix: apply replay gain preferences on scheduled files (#2945)
### Description

The replay gain preferences are applied in the legacy code, but the
playout code was missing this feature. The replay gain was not applied
when playout fetched the schedules.


37d1a7685e/legacy/application/models/Schedule.php (L881-L886)
2024-02-08 20:29:10 +01:00

46 lines
1.4 KiB
Python

from rest_framework import views
from rest_framework.response import Response
from ...permissions import IsSystemTokenOrUser
from ..models import Preference
from ..serializers import StreamPreferencesSerializer, StreamStateSerializer
class StreamPreferencesView(views.APIView):
permission_classes = [IsSystemTokenOrUser]
serializer_class = StreamPreferencesSerializer
model_permission_name = "streamsetting"
def get(self, request):
data = Preference.get_stream_preferences()
return Response(
data.model_dump(
include={
"input_fade_transition",
"message_format",
"message_offline",
"replay_gain_enabled",
"replay_gain_offset",
}
)
)
class StreamStateView(views.APIView):
permission_classes = [IsSystemTokenOrUser]
serializer_class = StreamStateSerializer
model_permission_name = "streamsetting"
def get(self, request):
data = Preference.get_stream_state()
return Response(
data.model_dump(
include={
"input_main_connected",
"input_main_streaming",
"input_show_connected",
"input_show_streaming",
"schedule_streaming",
}
)
)