Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Das hat mit Netzwerk nichts zu tun, das sind einfach 4 symmetrische analoge Audiosignale auf den 8 Adern eines Netzwerkkabels plus Abschirmung als gemeinsame Masse. Ein 4-Kanal-Multicore quasi.
Banjo
Es funktioniert über Netzwerkkabel (=4x 2 Paare) aber nicht digital, sondern klassisch analog. Das Cat5 Kabel wird einfach nur als analoges Multicore genutzt.Wie funktioniert das über Netzwerk ohne Strom?
Gerne helfe ich dir beim Debuggen deines Projekts. Bitte beschreibe das Problem, das du hast, und teile mir mit, in welcher Umgebung und mit welchen Technologien du arbeitest. Gibt es spezielle Fehlermeldungen oder unerwartetes Verhalten, das du beobachtest? Je mehr Details du mir gibst, desto besser kann ich dir helfen!
User
Zuerst einige Angaben:
Das Projekt ist in Python und besteht im Moment aus 3 Python Scrips und einigen HTML Dateien. Ein Script durchsucht einen Pfad nach Ordnern mit einer speziellen Extension .luna. Das sind Ordner in denen Projekte gespeichert sind, die zu der App Luna.app gehören. Das Such Script funktioniert und speichert die gefundenen Pfade in einer TXT Datei.
#!/bin/bash
# Pfade zu den Skripten
SEARCH_SCRIPT="/Users/thomas/110_days_python/Test_Scripts/search.py"
WRITE_RESULTS_SCRIPT="/Users/thomas/110_days_python/Test_Scripts/write_results.py"
FLASK_APP="/Users/thomas/110_days_python/Test_Scripts/app.py"
# Ausführung des Search-Skripts
echo "Starte die Suche nach .luna Projekten..."
python3 "$SEARCH_SCRIPT"
echo "Suche abgeschlossen."
# Ausführung des Skripts, das die HTML-Datei erstellt
echo "Generiere HTML-Datei aus den Suchergebnissen..."
python3 "$WRITE_RESULTS_SCRIPT"
echo "HTML-Datei wurde generiert."
# Überprüfe, ob der Port 8000 bereits verwendet wird
PORT=8000
if lsof -i:$PORT > /dev/null; then
echo "Port $PORT ist bereits belegt."
read -p "Möchten Sie den laufenden Server beenden? (ja/nein): " answer
if [[ "$answer" = "ja" ]]; then
echo "Beende laufenden Prozess auf Port $PORT..."
lsof -t -i:$PORT | xargs kill -9
echo "Prozess auf Port $PORT wurde beendet."
else
echo "Vorgang abgebrochen."
exit 1
fi
else
echo "Port $PORT ist frei."
fi
# Starten des Flask-Servers
echo "Starte Flask Server auf Port $PORT..."
export FLASK_APP="$FLASK_APP"
flask run --port=$PORT
echo "Flask Server läuft auf http://localhost:$PORT"
import subprocess
# Statische Erweiterung für die Suche
extension = ".luna"
def get_directory():
"""Fragt den Benutzer nach einem Verzeichnis mithilfe eines Finder-Popup-Fensters."""
# Verwende das macOS `osascript`-Befehl, um das Finder-Popup-Fenster anzuzeigen
script = """
tell application "Finder"
activate
set selectedFolder to POSIX path of (choose folder with prompt "Wähle ein Verzeichnis aus")
end tell
selectedFolder
"""
# Führe das AppleScript aus und erhalte den ausgewählten Ordnerpfad
directory = subprocess.run(['osascript', '-e', script], capture_output=True, text=True).stdout.strip()
return directory
def validate_directory(directory):
"""Überprüft, ob der eingegebene Pfad gültig ist."""
# Füge hier deine Validierungslogik hinzu
# Beispiel: Wenn der Pfad existiert und ein Verzeichnis ist, gibt True zurück, sonst False
return True if directory else False
def search_files(directory, extension):
"""Sucht nach Dateien mit der angegebenen Erweiterung im Verzeichnis."""
# Führe den Befehl `find` aus, um Dateien mit der Erweiterung zu finden
result = subprocess.run(['find', directory, '-name', f"*{extension}"], capture_output=True, text=True)
# Teile die Ausgabe des Befehls, um Dateipfade zu erhalten
file_paths = result.stdout.strip().split('\n')
return file_paths
def write_to_file(file_paths, output_file):
"""Schreibt die gefundenen Dateipfade in eine Ausgabedatei."""
with open(output_file, 'w') as file:
for file_path in file_paths:
file.write(file_path + '\n')
def main():
# Frage den Benutzer nach einem Verzeichnis
directory = get_directory()
# Überprüfe den eingegebenen Pfad
if not validate_directory(directory):
print("Der eingegebene Pfad ist ungültig oder leer.")
return
# Suche nach Dateien mit der .luna-Erweiterung im angegebenen Verzeichnis
file_paths = search_files(directory, extension)
# Zeige die Suchergebnisse im Terminal an
print("Suchergebnisse:")
for file_path in file_paths:
print(file_path)
# Schreibe die Suchergebnisse in die Ausgabedatei
output_file = "/Users/thomas/110_days_python/Test_Scripts/treffer.txt"
write_to_file(file_paths, output_file)
# Zeige die Anzahl der Fundstellen an
print(f"Anzahl der Fundstellen: {len(file_paths)}")
print(f"Die Treffer wurden in die Datei {output_file} geschrieben.")
if __name__ == "__main__":
main()
from flask import Flask, request, jsonify, render_template # Füge `render_template` hinzu
import subprocess
app = Flask(__name__, template_folder='/Users/thomas/110_days_python/Test_Scripts/templates')
@app.route("/")
def index():
return render_template('treffer.html')
@app.route("/open_luna", methods=['POST'])
def open_luna():
path = request.form['path']
try:
subprocess.run(['open', '-a', '/Applications/LUNA.app', path], check=True)
return jsonify(success=True, message="Projekt erfolgreich geöffnet")
except subprocess.CalledProcessError as e:
return jsonify(success=False, message="Fehler beim Öffnen des Projekts")
@app.route("/open_in_finder", methods=['POST'])
def open_in_finder():
path = request.form['path']
try:
subprocess.run(['open', '-R', path], check=True)
return jsonify(success=True, message="Ordner im Finder geöffnet")
except subprocess.CalledProcessError as e:
return jsonify(success=False, message="Fehler beim Öffnen im Finder")
if __name__ == "__main__":
app.run(debug=True, port=8000)
Sie haben was neues für diese Woche angekündigt.
... Ok, da sind wir vor der Zeit. Ich bekomme da wohl noch die Info zugesteckt.
. Hier sind sie:Dann suche ich jetzt mal bei Thomann welche kleinen Monitore nächste Woche vorgestellt werden.

Ich hatte an meinem Arbeits-PC für Teams Konferenzen usw, schon länger ein LCT440 stehen, das ich jetzt mal probeweise durch ein RAY ersetzt habe:Was haltet ihr von den umgesetzten Ideen? ... Hui oder Pfui ???
schon länger ein LCT440 stehen
... Muten per Distanz ist aber in der Konstellation nicht wirklich praktikabel für mich
Hier sind sie:
... zum Glück bin ich nicht so der Adam Fan, sondern eher auf der Focal Seite. Ob es das für den Zweck "Arbeitszimmer" (Also das Daily MB, Bassic und Co. - ab und zu mal einen Mix grob "herrichten", der im MenCave auf der SD vom ZOOM gelandet ist, mal Sounds am Helix testen und ohne Kopfhörer hören ...) sein muss, da bin ich noch unschlüssig. Ich war ja am überlegen, einige Zeit verwendete ich schlicht ein Audiotechniker AT2010, aber dann brauchte ich das immer wieder Live und ständig umstöpseln ist nicht so mein Ding.Eigentlich ja totaler Overkill, aber wer hat, der hat
Das mit dem frei vor mir schweben wäre etwas blöd, da ich für das Software entwickeln halt zwei größere 4k Monitore benutze und wenn da irgend etwas im Gesicht rum baumelt, das die Größe eines RAY hätte, dann würde ich das stören. Also muss es da außerhalb des primären Sichtfeldes sein, aber so dass es nicht all zu weit weg ist. Und hat sich das mittige Platzieren unterhalb der Monitore ergeben.Weil es nicht "frei" vor dir schwebt, oder weil es auf dem Kopf steht? Worauf führst du das zurück? ...
Alternativ hätte ich dann noch ein uralt C414, ein TLM 170 bzw TLM 107 und ein Gefell M930 zur Auswahl
Ich hab aber auch ein AKG C5600 mit C414-Kapsel zum Teamsen am Start, einfach because I can. Das schaut wie eine Webcam oben über den Monitorrand auf einem kleinen K&M Standstativ mit Gusssockel.