Alle Beiträge von Björn Karpenstein

Diplom Informatiker, Programmierer, Musikbegeisterter

Nach Öffnen von Cubase 12 Pro-Projekt (Windows 11) ist keine YouTube-Videowiedergabe mehr möglich

Problem

YouTube spielt nach Umstieg auf „Windows 11, Cubase 12 Pro“ mit dem gleichen Audio-Interface (Steinberg UR22MKII) keine Videos mehr ab, wenn ein Cubase 12 Pro-Projekt geöffnet wurde. Vorher funktionierte die YT-Videowiedergabe auch, wenn Cubase 11 Pro geöffnet war.

Ausschluss

  • Das Audio-Interface (also die Hardware Yamaha/Steinberg UR22MKii) ist das Gleiche wie vorher und erlaubte zwischen YouTube+Cubase umherzuschalten.
  • Unter Studio -> Studio Einstellungen ist diese Einstellung bereits vorgenommen:
    1656832928494.png
  • Unter den Windows 11 Einstellungen wurde bereits das Audio-Interface als Standard-Ausgabe definiert
    1656834576550.png

Konfigurationsänderungen

  • Umstieg von Windows 10 + Cubase 11 Pro am Laptop auf Windows 11 + Cubase 12 Pro am Festrechner.

Testszenario 1: Aufruf von YouTube ohne Cubase 12 Pro

  • Start des Rechners
  • Aufruf von  Chrome Browser mit www.youtube.com
  • Start eines Videos über den Play-Button
  • Beobachtung: Die Videos spielen wie erwartet ordnungsgemäß ab

Testszenario 2: Öffnen von Cubase 12 Pro-Projekt, öffnen von YouTube

  • Start des Rechners
  • Aufruf von Cubase 12 Pro
  • Laden eines Projekts und starten
  • Aufruf von Chrome Browser mit www.youtube.com
  • Start eines Videos über den Play-Button
  • Beobachtung: Die Videos hängen, es kommt der Ladekreis/Ladebalken von Youtube, ähnlich als ob keine Internetverbindung existiert.

Testszenario 3: Öffnen von Cubase 12 Pro-Projekt, schließen von CB12, öffnen von Youtube

  • Start des Rechners
  • Aufruf von Cubase 12 Pro
  • Laden eines Projekts und starten
  • Schließen von Cubase 12 Pro
  • Aufruf von Chrome Browser mit www.youtube.com
  • Start eines Videos über den Play-Button
  • Beobachtung: Die Videos hängen, es kommt der Ladekreis/Ladebalken von Youtube, ähnlich als ob keine Internetverbindung existiert.

1.) Lösung

  • Windows 11 arbeitet intern auf 48.000 kHz. Hat man ein Projekt mit 44.100 kHz funktionieren YouTube-Videos nicht mehr.
  • Stellt man das Projekt auch auf 48.000 kHz um kann man wieder beliebig zwischen YouTube und Cubase 12 Pro unter Windows 11 hin und herschalten.
1656864393010.png

2.) Lösung von Steinberg (mögliches Treiber-Problem UR22MKii)

Ursache: Probleme mit dem WDM (Windows Driver Model)

Lösung: Downgrade auf V2.0.4 des Treibers.

https://helpcenter.steinberg.de/hc/de/articles/6092392859026-Windows-Probleme-mit-Yamaha-Steinberg-USB-Driver-V2-1-0-oder-h%C3%B6her

Siehe auch die Hinweise auf der Treiber-Seite vom UR22MKii:

https://o.steinberg.net/de/support/downloads_hardware/yamaha_steinberg_usb_driver.html

1656866668274.png

Fazit

  1. Die Lösung 1 hat zuerst mal die Möglichkeit geschaffen wieder zwischen Cubase 12 Pro und YouTube hin- und herzuschalten (also meistens zumindest). Es gab aber auch den Fall, dass man den Browser dann schließen und wieder öffnen musste damit es wieder normal geht.
  2. Das Downgraden des Steinberg UR22MKii auf V2.0.4 hingegen erlaubt auch bei verschiedenen Sample-Raten hin- und herzuschalten. Der YouTube-Ton läuft jetzt auch wieder gerne parallel zur Wiedergabe von YT Videos.

Die Hauptlösung sollte also sein, den Treiber des Audio-Interfaces auf Yamaha Steinberg UR22MKii V2.0.4 downzugraden. Vorher muss der ursprüngliche Treiber in der höheren Version deinstalliert werden.

Songidee: Stand Up Paddling (Surf Punk Rock)

Eigentlich wollte ich beim Recording.de Sommersong-Contest 22 mitmachen, aber ich habe den Abgabetermin um ca. 2-3 Tage verpasst. Daher poste ich das Lied mal auf meinem Blog …

Also ich lief durch den Aldi Süd und da wurde mir bewusst dass der aktuelle Sommer- und Wassersporttrend für das Jahr 2022 „Stand Up Paddling“ heisst. Das muss so etwas wie das Nordic Walking des modernen Wassersports sein.

Stand Up Paddle Boarding scheint der Sommertrend 2022 zu sein – jeder Discounter vertickt so ein Ding aktuell in seinen Filialen
Stand-Up-Paddling das ist der letzte Schrei
Stand-Up-Paddling und wir sind mit dabei

Wenn ich mal traurig bin mach ich Stand-Up-Paddling
Und momentan gibts so nen Ding im Aldi Süd
Du bist das Nordic Walking des modernen Wassersports
Hier gibt es keine Wellen und nichts bringt mich zum Sturz

Stand-Up-Paddling, das ist der letzte Schrei
Stand-Up-Paddling und wir sind mit dabei

Wenn ich am Strand lang renn mit dem Stand-up-Paddle-Brett
Streich mir durchs nasse Haar und alle Leute winken nett
Mein Laib glänzt in der Sonne und die Leute jubelieren
Für sie ist's dir größte Wonne mich beim Paddeln zu studieren

Stand-Up-Paddling, das ist der letzte Schrei
Stand-Up-Paddling und wir sind mit dabei

(Stand-Up-Paddle-Radio) Ey jo das geht raus an allle ...

Stand-Up-Paddling, das ist der letzte Schrei
Stand-Up-Paddling und wir sind mit dabei

Surf-Part

Stand-Up-Paddling, das ist der letzte Schrei
Stand-Up-Paddling und wir sind mit dabei

Microsoft Excel VBA: How to delete a worksheet in a workbook / Ein Arbeitsblatt in einer Arbeitsmappe löschen

Problem

A worksheet within a workbook shall be deleted via VBA in Excel.
Ein Arbeitsblatt soll in einer Arbeitsmappe gelöscht werden.

Approach / Ansatz

  • Create a new SUB method with the worksheet name as parameter / Definition einer neuen Sub-Methode mit Übergabe des Namen des zu löschenden Arbeitsblattes
  • Iterate all worksheets / über alle Arbeitsblätter iterieren
    • Check the name of the current worksheet / Namen der Worksheets prüfen
      • When the name matches the SUB paramter, the worksheet will get deleted via .Delete method / Wenn der Name des übergebenen Parameters entspricht, wird das worksheet gelöscht mit der .Delete Methode

Solution / Lösung

Sub DeleteWorksheet(worksheetName As String)
Dim ws As Worksheet, wb As Workbook

Set wb = ActiveWorkbook

Application.DisplayAlerts = False

For Each ws In wb.Worksheets
    If ws.Name = worksheetName Then
        ws.Delete
        Exit For
    End If
Next

Application.DisplayAlerts = True

End Sub

Was ist der Inhalt der 60601-1?

CE-Kennzeichnung

Die CE-Kennzeichnung ist der Reisepass für den freien Warenverkehr in der EU.

Das CE Zeichen ist grafisch genormt, die Darstellung ist in Anhang V 2017/745 becshrieben.

Was ist Medizinprodukt?

  • ein Instrument
  • ein Apparat
  • Gerät
  • Software
  • Implantat
  • Reagenz
  • Material
  • ein anderer Gegenstand vom Hersteller bestimmt – entweder alleine oder in Kombination mit Diagnoste, Verhütung, Überwachung, Vorhersage, Prognose, Behandlung, Linderung, Kompensierung

Zweckbestimmung

Für die Definition der Zweckbestimmung siehe

  • Verordnung EU 2017/745, Artikel 2 (12)
  • DIN EN 60601-1

Sie sollte beinhalten:

  • Medizinische Anwendung
  • Patientengruppe
  • Körperteil
  • Anwendergruppe
  • Art der Anwendung

Die Zweckbestimmung ist wichtig für Klassizifierung, ob etwas ein Medizinprodukt ist oder nicht. Ein Produkt kann auch zwei Zweckbestimmungen haben und 1x Medizinprodukt für einen bestimmten Zweck sein und für einen anderen nicht.

Grundlegende Sichereits- und Anforderungen

siehe Anhang I Verordnung (EU) 2017/745 (vorher war das die MDD)

  • Allgemeine Anforderungen
  • Risikomanagementsystem
  • Chem. physik. und biol. Eigenschaften
  • Infektionen und mikrobioelle Kontamination
  • Konstruktion und Umgebungsbedingungen
  • Produkte mit Messfunktion
  • Schutz vor Strahlung
  • Aktive Produkte
  • Schutz vor mech. & therm. Risiken
  • Kennzeichnung und Gebrauchsanweisung

Aus dem nationalem Medizinproduktegesetz (MDD) wurde ein nationales Medizinprodukte-Anpassungsgesetz, wo Delta-Anforderungen zu (EU) 2017/745 aufgelistet werden.

Aus der Gesetzesgebersicht ist es ein Angebot die Normen zu nehmen um Gesetze einzuhalten. Es ist nicht verbindlich Normen zu nehmen. Die Normen helfen also Gesetze einzuhalten.

C# Threads: Was bedeutet „signaled“ beim AutoResetEvent-Konstruktor und im Kontext von AutoResetEvent?

Problemfeld

AutoResetEvent bietet über einen globalen oder übergeordneten Kontext die Möglichkeit durch den Aufruf der WaitOne-Methode innerhalb des Thread-Codes, Threads zu blockieren bis ein Signal aus einem anderem Kontext gesendet wird. Der andere Kontext sollte dabei auch Zugriff auf das steuernde AutoResetEvent-Objekt haben.

Konstruktor-Parameter

AutoResetEvent event_1 = new AutoResetEvent(true);
AutoResetEvent event_2 = new AutoResetEvent(false);

Ein Thread, welcher event_1.WaitOne() aufruft, blockiert nicht da signaled auf TRUE steht.

Ein Thread, welcher event_2.WaitOne() aufruft, blockiert da signaled über den Konstruktor mit FALSE initialisiert wurde.

Ruft ein Thread die Methode „WaitOne“ auf, wird dieser allerdings nur blockiert, wenn AutoResetEvent mit false initialisiert wurde.

Event auf „signaled“ ohne Konstruktor setzen

Um die blockierten Threads nun aus einem anderen Kontext, welcher auch Zugriff auf das AutoResetEvent-Objekt haben muss, zu steuern können die Methoden .Set() und .Reset() des AutoResetEvents aus dem steuerenden Kontext heraus genutzt werden:

// Setzt den Status auf "nicht signalisiert" / "non signaled" 
// Threads blockieren nach Aufruf von AutoResetEvent.WaitOne()
event_1.Reset(); 

// Setzt den Status auf "signalisiert" / "signaled"
// Threads blockieren NICHT nach Aufruf von AutoResetEvent.WaitOne()
event_2.Set(); 

Nur einer, der wartenden Threads erhält ein Signal wenn Set() aufgerufen wird. Will man alle wartenden Threads befreien, muss man Set() mehrfach aufrufen.

Unterschied zu ManualResetEvent

  • ManualResetEvent signalisiert allen wartenden Threads, dass diese die WaitOne()-Methode passieren dürfen. Sie ist also wie eine Tür, die sich für alle öffnet. ManualResetEvent.Reset(); schließt, die Tür, ManualResetEvent.Set(); öffnet die Tür.
  • AutoResetEvent signaliert maximal einem wartendendem Thread, dass er nach Aufruf der AutoResetEvent.WaitOne()-Methode weitermachen darf. Um alle blockierten Threads zu befreien, muss AutoResetEvent .Set() entsprechend der Anzahl wartender Threads aufgerufen werden. Wenn kein AutoResetEvent auf „signaled“ gesetzt wurde, wird auch niemand durchgelassen. Das entspricht der Warteschlange auf Ämtern oder Ärzten, wo man eine Nummer ziehen muss und immer nur einer aufgerufen wird.

Paw PATROL SONG PARODY (Pub Patrol) and Tutorial How to play the Paw Patrol Theme on guitar, bass and drums / Paw Patrol Song Parodie und Wie man das Paw Patrol Lied auf Instrumenten (Gitarre, Bass, Schlagzeug) spielt

Video

Paw Patrol Theme Parody (Pub Patrol) / Titellied: Paw Patrol / Guitar, Bass, Drums cover

Music on Soundcloud

https://soundcloud.com/bj-rn-karpenstein/pub-patrol-from-paw-patrol

Parody lyrics / Text der Parodie

Pub Patrol (Paw Patrol Theme Satire)

Pub Patrol, Pub Patrol
We're drinking here some doubles

Whenever there is trouble
on barley malt bay 
Ryder's with his team in pubs
and drinking the whole day

Guinness, Miller, Bud, Stella, Busch, Coors 
Yeah! It's on the way! 

Pub Patrol, Pub Patrol
Whenever you need doubles
Pub Patrol, Pub Patrol
We're drinking here some couples 

No beer's too big 
No thirst('s) is too small 
Pub Patrol, we're on a roll!
So here we go
Pub Patrol
Whoa-oh-oh-oh
Pub Patrol
Whoa-oh-oh-oh-oh
Pub Patrol

„Dune Buggy“ von Oliver Onions auf deutsch. Musik aus Bud Spencer und Terrence Hill Filmen singbar übersetzt

„Dune Buggy“ aus „Zwei wie Pech und Schwefel“

Komm mit mir in meinen Strandbuggy ..
Einfach so aus Spaß, Jux und Tollerei ..
Alle Leute schau'n nach uns Blöde ...
Schätze sie wären einfach gern' dabei 

Und ich wett' alles d'rauf, er ist bald bei mir
Da gibts kein'n Ärger
Ärger um ums
Denk so einfach kommst du hier nicht weg
einfach kommst du hier nicht weg 

Strandbuggy

Alles dreht sich um den Strandbuggy
Schnurrstracks hau'n wir ab über'n Dünensand
S'Sieht so gut aus hier auf dem Sandstrand
Deine alten Augen habens erkannt

Und ich wette alles d'rauf,
Die Jungs auf dem Bike
Haben bald Ärger
Ärger mit uns
Denn sie werden uns niemals bekomm'n
werden uns niemals bekomm'n

Strandbuggy

Idee

Die Idee wäre ein Cover, was ähnlich meinem bisherigem Flying through the air video ist.