58 Commits

Author SHA1 Message Date
JSC
b1f9667edd feat: Replace pydub with ffmpeg for audio duration and metadata extraction in sound services 2025-07-19 09:40:31 +02:00
JSC
4cfc2ec0a2 feat: Remove unused get_user_credit_info method from CreditService 2025-07-18 23:32:14 +02:00
JSC
39b7e14ae9 feat: Add stream URL generation and service URL retrieval for sounds in music player service 2025-07-18 22:38:40 +02:00
JSC
d0bda6c930 feat: Add sorting by name for soundboard sounds and improve socket emission logging 2025-07-18 21:10:08 +02:00
JSC
010f18bff4 feat: Add referential routes for listing available plans and remove plans endpoint from admin routes 2025-07-16 15:44:57 +02:00
JSC
e874d0665f feat: Add user management endpoints for listing, updating, activating, and deactivating users 2025-07-16 15:24:20 +02:00
JSC
ae238d3d18 feat: Emit sound play count change event to connected clients after playing a sound 2025-07-16 13:54:50 +02:00
JSC
7226d87a77 refactor: Comment out play_sound event handler and related logic for future use 2025-07-13 17:39:17 +02:00
JSC
b17e0db2b0 feat: Emit credits required event via SocketIO when user lacks sufficient credits 2025-07-13 01:46:23 +02:00
JSC
64074685a3 refactor: Simplify sound file path retrieval by consolidating stream sound handling 2025-07-12 22:53:07 +02:00
JSC
688b95b6af refactor: Remove unused playlist routes and related logic; clean up sound and stream models 2025-07-12 22:00:04 +02:00
JSC
627b95c961 feat: Add 'single' play mode to music player and update related logic 2025-07-12 20:49:20 +02:00
JSC
fc734e2581 feat: Enhance play tracking to accumulate play time and trigger at 20% of cumulative listening 2025-07-12 16:26:53 +02:00
JSC
4e96c3538c feat: Update play tracking to trigger at 20% completion instead of start 2025-07-12 16:13:13 +02:00
JSC
6bbf3dce66 feat: Update SoundPlayed model to accept nullable user_id and enhance sound tracking in MusicPlayerService 2025-07-12 15:56:13 +02:00
JSC
842e1dff13 feat: Implement playlist management routes and integrate with music player service 2025-07-12 15:17:45 +02:00
JSC
93897921fb feat: Update playlist loading method to use current playlist on startup 2025-07-11 23:26:28 +02:00
JSC
4f702d3302 feat: Update SoundPlayed model to allow nullable user_id 2025-07-09 14:00:55 +02:00
JSC
7d224d1db7 feat: Restrict JWT access cookie path and update Socket.IO CORS path 2025-07-08 22:35:47 +02:00
JSC
2e464dc977 feat: Enhance track ending detection and handling in MusicPlayerService 2025-07-08 13:36:51 +02:00
JSC
193bd5ebf4 feat: Add sounds routes for serving audio and thumbnail files 2025-07-08 12:57:17 +02:00
JSC
96ab2bdf77 feat: Remove load_main_playlist endpoint and implement automatic loading on startup 2025-07-07 21:34:29 +02:00
JSC
bcd6ca8104 Merge branch 'player' 2025-07-07 21:19:28 +02:00
JSC
9ac55f8904 feat: Enhance stream processing and SocketIO services with app context management 2025-07-07 21:17:51 +02:00
JSC
e7d958eb39 feat: Implement Music Player Service with VLC integration
- Added MusicPlayerService for managing VLC music playback with playlist support.
- Implemented methods for loading playlists, controlling playback (play, pause, stop, next, previous), and managing volume and play modes.
- Integrated real-time synchronization with VLC state using a background thread.
- Added SocketIO event emissions for player state updates.
- Enhanced logging for better debugging and tracking of player state changes.

fix: Improve SocketIO service logging and event handling

- Added detailed logging for SocketIO events and user authentication.
- Implemented a test event handler to verify SocketIO functionality.
- Enhanced error handling and logging for better traceability.

chore: Update dependencies and logging configuration

- Added python-vlc dependency for VLC integration.
- Configured logging to show INFO and DEBUG messages for better visibility during development.
- Updated main application entry point to allow unsafe Werkzeug for debugging purposes.
2025-07-07 20:51:53 +02:00
JSC
c44b055f83 feat(stream): integrate sound normalization into stream processing service 2025-07-07 15:29:50 +02:00
JSC
fe628b99d4 feat(stream): update stream route to /api/stream and add sound to main playlist upon creation 2025-07-07 15:22:45 +02:00
JSC
d7c6efcd0e refactor(admin): streamline sound scanning route to use scheduler service and require admin role 2025-07-06 17:31:04 +02:00
JSC
4f18f3e64e feat(stream): implement stream processing service with routes for managing streaming URLs; add support for concurrent processing and metadata extraction 2025-07-06 16:57:33 +02:00
JSC
61db6c56dc fix(stream): update service and sound_id fields to be nullable; adjust create_stream method parameters for optional values 2025-07-05 18:47:55 +02:00
JSC
fac4fdf212 feat(stream): add Stream model for managing streaming service links to sounds; update Sound model to include relationship with Stream 2025-07-05 18:31:47 +02:00
JSC
024c58f013 refactor(models): unify table names to singular form for consistency across models 2025-07-05 18:11:19 +02:00
JSC
21541c8184 feat(playlists): implement Playlist and PlaylistSound models; add seeding for default Main playlist 2025-07-05 18:05:59 +02:00
JSC
f68d046653 fix(admin_sounds): import jsonify to enable JSON responses in admin sound management routes 2025-07-05 17:49:05 +02:00
JSC
e2fe451e5a Refactor OAuth provider linking and unlinking logic into a dedicated service; enhance error handling and logging throughout the application; improve sound management and scanning services with better file handling and unique naming; implement centralized error and logging services for consistent API responses and application-wide logging configuration. 2025-07-05 13:07:06 +02:00
JSC
41fc197f4c refactor(soundboard): remove unused client information from play_sound method 2025-07-05 12:43:22 +02:00
JSC
2f7ffbbfe4 refactor(vlc_service): remove unused parameters ip_address and user_agent from play_sound method 2025-07-05 08:36:59 +02:00
JSC
5876b247f4 refactor(main): remove allow_unsafe_werkzeug option from SocketIO run configuration 2025-07-04 20:30:58 +02:00
JSC
ccc5ee38e2 feat(socketio): integrate SocketIO service for real-time communication and emit credits change events 2025-07-04 20:18:46 +02:00
JSC
1cd43a670d refactor: update timestamp handling to use timezone-aware datetime 2025-07-04 19:20:56 +02:00
JSC
4375718c2f refactor(decorators): simplify require_admin decorator by reusing require_role 2025-07-04 19:13:33 +02:00
JSC
5c29fa1a4c refactor(sound_played): remove unused fields ip_address and user_agent from SoundPlayed model 2025-07-04 18:55:26 +02:00
JSC
c3b8205f83 feat(sound_played): add sound play tracking and user statistics endpoints; enhance VLC service to record play events 2025-07-03 21:50:17 +02:00
JSC
97b998fd9e feat(vlc_service): refactor VLC service to use subprocess for sound playback and management; update process tracking 2025-07-03 21:36:42 +02:00
JSC
7455811860 feat: Add VLC service for sound playback and management
- Implemented VLCService to handle sound playback using VLC.
- Added routes for soundboard management including play, stop, and status.
- Introduced admin routes for sound normalization and scanning.
- Updated user model and services to accommodate new functionalities.
- Enhanced error handling and logging throughout the application.
- Updated dependencies to include python-vlc for sound playback capabilities.
2025-07-03 21:25:50 +02:00
JSC
8f17dd730a feat(admin_routes): add admin routes for scheduler and sound management; refactor main routes 2025-07-03 20:24:13 +02:00
JSC
c241a72c60 feat(sound_normalizer): implement two-pass normalization and enhance error handling 2025-07-02 17:29:28 +02:00
JSC
7128ca727b Add new sound files and update dependencies
- Added various sound files to the soundboard, including insults, quotes, and sound effects.
- Introduced new dependencies: ffmpeg-python (version 0.2.0) and pydub (version 0.25.1) for audio processing.
- Updated the lock file to reflect the new packages and their respective versions.
- Added .gitignore files in the sounds/stream and sounds/temp directories to exclude unnecessary files.
2025-07-02 17:09:43 +02:00
JSC
1b597f4047 feat(scheduler): implement scheduler service for background tasks and credit refills; add endpoints for admin control 2025-07-02 13:39:17 +02:00
JSC
703212656f refactor: clean up code by adding missing commas and improving import order 2025-07-02 10:46:53 +02:00