66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
import argparse
|
|
import os
|
|
import sys
|
|
from audio_recorder import AudioRecorder
|
|
from windows_audio import WindowsAudioManager
|
|
import sounddevice as sd
|
|
from metadata_manager import MetaDataManager
|
|
from settings import SettingsManager
|
|
|
|
from flask import Flask
|
|
from flask_cors import CORS
|
|
|
|
from routes.recording import recording_bp
|
|
from routes.device import device_bp
|
|
from routes.metadata import metadata_bp
|
|
from routes.settings import settings_bp
|
|
from flask_socketio import SocketIO
|
|
import threading
|
|
|
|
app = Flask(__name__)
|
|
CORS(app)
|
|
# socketio = SocketIO(app, cors_allowed_origins="*")
|
|
# CORS(socketio)
|
|
|
|
def main():
|
|
# Create argument parser
|
|
parser = argparse.ArgumentParser(description='Audio Recording Service')
|
|
|
|
# OSC port argument
|
|
parser.add_argument('--osc-port',
|
|
type=int,
|
|
help='OSC server port number',
|
|
default=5010)
|
|
|
|
# Parse arguments
|
|
args = parser.parse_args()
|
|
audio_manager = WindowsAudioManager()
|
|
settings = SettingsManager()
|
|
|
|
# Ensure save path exists
|
|
os.makedirs(settings.get_settings('save_path'), exist_ok=True)
|
|
|
|
|
|
# Register blueprints
|
|
app.register_blueprint(recording_bp)
|
|
app.register_blueprint(device_bp)
|
|
app.register_blueprint(metadata_bp)
|
|
app.register_blueprint(settings_bp)
|
|
app.run(host='127.0.0.1', port=settings.get_settings('http_port'), debug=False, use_reloader=True)
|
|
# socketio.run(app, host='127.0.0.1', port=args.osc_port, debug=False, use_reloader=True)
|
|
|
|
|
|
|
|
# Run the OSC server
|
|
# try:
|
|
# print(f"Starting OSC Recording Server on port {args.osc_port}")
|
|
# # osc_server.run_server()
|
|
# except KeyboardInterrupt:
|
|
# print("\nServer stopped by user.")
|
|
# except Exception as e:
|
|
# print(f"Error starting server: {e}")
|
|
# sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |