Cinelerra: Videoschnitt der anderen Art

Neulich entdeckte ich in den Updatemeldungen ein mir unbekanntes Videoschnittprogramm: Cinelerra. Das die Herstellerfirma Heroine Virtual Ltd. seit 13 Jahren daran arbeitet, kann man sich beim ersten Eindruck gar nicht vorstellen 🙂

Cinelerra: Videoschnitt der anderen Art

Ich habe Cinelerra nur gestartet und war schon von Schritt 1 geschockt: Ein Medium in die Sammlung von Dateien zu laden, ist schon eher untypisch gestaltet worden 😉Falls Ihr das OK Button sucht, es ist das grĂŒne + links 😉

Die Idee, alle Einzelteile des Schnittprogramms in eigenstĂ€ndigen Fenstern zu prĂ€sentieren ist bei nur einem Bildschirm ungewöhnlich, aber wenn man das auf zwei oder mehr Bildschirme ĂŒbertrĂ€gt, macht das eigentlich richtig viel Sinn, allerdings auch nur dann.

Schauen wir uns mal das erste Ergebnis, was ĂŒbrigens auch das letzte Ergebnis ist, denn jetzt treten bereits die ersten heftigen Bugs auf 😀

Was Ihr hier nicht seht, aber passiert ist, war, daß anstatt den Film als eine Videospur + zwei Audiospuren aufzufĂŒhren, war er zweimal mit Video drin und hatte insgesamt 5 Tonspuren 😀

Das das Aspektratio in der Vorschau nicht paßt, seht Ihr natĂŒrlich dagegen selbst 😉

Die Effekte sind, sagen wir es vorsichtig, „interessant“ und … buggy 😀 Der Feuereffekt, der naja, es fehlen mir die Wort es zu beschreiben und da hört der Bericht jetzt auch auf. Es macht einfach keinen Spaß das Programm zu testen 🙁

Fazit: Lasst die Finger davon.

 

Supertuxkart auf dem Tablet

Seit einiger Zeit gibt es Supertuxkart mit einem Touch-EingabegerĂ€t, also habe ich es mal ausprobiert … in groß 🙂

Supertuxkart auf dem Tablet

Wer meine Artikelserie zum Pinephone verfolgt hat, hat den Spieleartikel gesehen. Darin ist auch Supertuxkart und seine Problem auf der Fedoraversion des Pinephones beschrieben, z.b. die mangelnde OpenGL3 FunktionalitÀt der Mali400 GPU, was Supertuxkart in den Softwarerendermodus versetzt.

Dies Problem haben wir auf meinem Surface Pro Tablet natĂŒrlich nicht:

Ja, es fuhr wirklich

Supertuxkart ist aufgrund der Bedienung auf Multi-Touchsupport angewiesen. Wenn der nicht da ist, dann kann man entweder lenken und Gas geben oder eine der Zusatzfunktionen nutzen, aber nicht beides gleichzeitig. In der Praxis bedeutet es die faktische Unspielbarkeit des beliebten Kartgames.

Zum GlĂŒck gibt es Jake Day

Wer sich an die ersten Artikel zum Surface Tablet im Blog erinnert, dem wird der Umstand wieder einfallen, daß es keinen Touchsupport fĂŒrs Tablet gab. Jake Day hatte das geĂ€ndert, in dem er einen eigenen Kernel kompiliert hatte, in dem dieser Makel behoben wurde.

Mit dem alten Jake Day Kernel habe ich dann Supertuxkart so gespielt, wie das vorgesehen war. Leider auch hier nur mit mĂ€ĂŸigem Erfolg, da zwar alle Zusatzfunktionen gleichzeitig zum Lenken auslösbar sind, aber die Lenkung selbst das Problem ist. Viel zu oft bleibt das Kart einfach stehen oder lenkt nicht mehr. Ein Lenkrad wie ein echtes Lenkrad zu drehen ist fĂŒr Touch nicht die beste Lösung. Eine Wippensteuerung wie auf jedem Gamepad wĂ€rs gewesen.

Zusammen mit der Pressdruckerkennung des Touchdisplays wĂ€re eine gelungene Steuerung sehr gut möglich gewesen. Vielleicht bekomme ich die Devs ja zu dieser Änderung 🙂

„Energie ist alles!“

Zu den „mechanischen“ Problemen der Steuerung kommt, daß man das Spiel nicht wirklich lange zocken könnte, da es viel zu viel Energie benötigt. Die 4 i7 CPU Kerne werden wegen 3D Berechnung fĂŒr die 3K Auflösung schnell sehr warm, was die LĂŒfter dann kompensieren mĂŒssen, ein todsicheres Anzeichen fĂŒr hohen Energieverbrauch 😉

Aber immerhin, fĂŒr ein bisschen Unterhaltung reicht eine Akkuladung aus 😉 Da das Spiel netzwerkfĂ€hig ist, könnt Ihr fast ĂŒberall mit anderen Zocken, ob Ihr gewinnen werdet, kann bezweifelt werden 😉

Ladet Euch mal das Bild aus dem Artikel runter, dann habt Ihr eine Idee zur Auflösung des Bildschirms. NatĂŒrlich kann man Supertuxkart sagen, es soll eine kleinere Auflösung benutzen, aber das das Display die M$ eigene 3:2 Auflösung benutzt, kommt es zu Verzerrungen, wenn man z.b. auf FullHD runterschaltet.

Gyroskopische Steuerung

Auf Android kann man SupertTuxKart tatsĂ€chlich ĂŒber die Lagesteuerung spielen:

[dev] Gyroscope controls in SuperTuxKart, an opensource racing game
byu/_pelya inAndroidGaming

Das könnte das Problem tatsĂ€chlich lösen, da das Surface so groß ist, das ruckartige Steuerfehler wie im Video mit dem großen Tablet gar nicht möglich wĂ€ren. Das ist definitiv wert einmal ausprobiert zu werden 🙂

Pinephone: Judgement Day!

Pinephone: wie man ohne Phosh ein Handyfeeling simuliert

Was haben Pinephone Apps und Android Apps nicht gemeinsam? Genau, jede Pinephone aka Linuxapp macht ihr eigenes Fenster in ihrer LieblingsgrĂ¶ĂŸe auf. Das Ă€ndern wir heute.

Pinephone: wie man ohne Phosh ein Handyfeeling simuliert

Um das machen zu können, brauchen wir ein dauerhaft laufendes Programm. Idealerweise wĂŒrde so etwas der Windowmanager ĂŒbernehmen, der lĂ€uft eh, aber da es Gnome ist, naja, nicht so schnell umsetzbar. Also machen wir das mit einem Script: windowmaximixerwatch

#!/bin/bash

rm -f /tmp/liste
i="0"
while [ $i -lt 1 ];
do 
	windowmaximizer > /dev/null
	sleep 1
	RC=$(ps auxf| grep -c gnome-shell)
	if [ $RC -eq 0 ]; then 
		i=1
	fi
done

Diese Datei wird nach /home/pine/.local/bin/windowmaximizerwatch geschrieben

„Das macht ja gar nicht so viel“ Stimmt, aber das ist ja auch nur ein Teil davon. Wie man leicht erkennen kann, ist das eine Programmschleife, die nur dann abbricht, wenn kein Gnome-Shell-Prozess (mehr) vorhanden ist.

Das Programm „windowmaximizer“ ist auch nur wieder ein Shellscript, das die ganze Arbeit macht:

#!/bin/bash

#1 
ISONBOARDOPEN=$(wmctrl -l | grep -c Onboard)

#2 
RESOLUTION=$(xdpyinfo | grep dimens | awk '{print $2;}')
X=$( echo $RESOLUTION | awk -F "x" '{print $1;}')
Y=$( echo $RESOLUTION | awk -F "x" '{print $2;}')

#3
ORIENTATION="landscape"
if [ $Y -gt $X ]; then 
        ORIENTATION="portray";
fi

#4 
LASTORIENTATION=$(cat /tmp/display.orientation.last);
if [ "$LASTORIENTATION" != "$ORIENTATION" ]; then

        # REMOVE OLD IDs as all needs to get maxed newly, because we had a layout orientation switch
        rm -f /tmp/liste
fi

echo "$ORIENTATION" > /tmp/display.orientation.last;

#5 create new /tmp/liste if missing:

touch /tmp/liste

# place Onboard window at the correct position and define variables for wmctrl cmds:

if [ "$ORIENTATION" == "portray" ]; then

        wmctrl -l | grep Onboard | awk '{print "echo "$1";wmctrl -i -r "$1" -e 2,0,1170,720,270";}' | bash
        TOP=41
        WIDTH=720
        if [ $ISONBOARDOPEN -eq 0 ]; then 
                HEIGHT=1440
        else 
                HEIGHT=1130
        fi

else
        wmctrl -l | grep Onboard | awk '{print "echo "$1";wmctrl -i -r "$1" -e 2,0,450,1440,270";}' | bash
        TOP=41
        WIDTH=1440
        if [ $ISONBOARDOPEN -eq 0 ]; then 
                HEIGHT=720
        else 
                HEIGHT=410
        fi
fi 

#6 now ALL windows WITHOUT Onboard, that are still unprocessed ( not in our brain file ), get processed. This is needed as resizing causes a lot of pain to the eye, as it flickers, even if it's not needed.

LISTE=$(wmctrl -l | grep -v Onboard | awk '{print $1;}')

for id in $LISTE
do 
        echo "processing $id";
        RC=$(grep -c $id /tmp/liste)
        if [ $RC -eq 0 ]; then 
                echo "resizing $id"
                wmctrl -i -r "$id" -e 5,0,$TOP,$WIDTH,$HEIGHT
                wmctrl -i -r "$id" -b toggle,maximized_vert,maximized_horz
                wmctrl -i -r "$id" -e 5,0,$TOP,$WIDTH,$HEIGHT
#               wmctrl -i -r "$id" -b remove,fullscreen
                echo $id >> /tmp/liste
        fi
done

#7
# Now we check, if all ids in your brain file are still open windows. Thats needed, because same windows, get the same id, when they are closed and repopend.
# if they are closed we need to remove the id, because we need to reposition them again on next open.

LISTE=$(cat /tmp/liste)
for id in $LISTE
do

        RC=$(wmctrl -l |grep -c $id)
        if [ $RC -eq 0 ]; then
                # Entferne Windows die weg sind!

                echo "remove id $id";

                grep -v $id /tmp/liste > /tmp/liste2;
                rm -f /tmp/liste;
                mv /tmp/liste2 /tmp/liste;
        fi 
done

Diese Datei wird nach /home/pine/.local/bin/windowmaximizer geschrieben.

  1. wir stellen erstmal fest, ob das Onboard OSK lĂ€uft. Das ist wichtig fĂŒr die Berechnung der FenstergrĂ¶ĂŸe, auf die die Apps gezogen werden mĂŒssen.
  2. xdpyinfo teilt uns die Bildschirmauflösung und jede Menge anderen Kram mit.
  3. Anhand der ermittelten X/Y Koordinaten legen wir fest, ob wir im Landscapemode ( 1440×720 ) oder Portraymode ( 720×1440 ) arbeiten.
  4. Wenn sich die Orientierung innerhalb des letzten Aufrufes geĂ€ndert hat, löschen wir die gesicherten FensterIDs, so daß alle Fenster auf die neuen Gegebenheiten umgeĂ€ndert werden.
  5. nun repositionieren wir das Onboard OSK passend zur Orientierung an die richtige Stelle und berechnen gleich noch die Variablen fĂŒr die Fensterhöhe und -breite.
  6. nun werden alle Fenster, deren FensterIDs wir noch nicht bearbeitet hatten, was in einer Datei gespeichert wird, auf Position gebracht. Das sind die, die in der letzten Sekunde noch nicht da waren.
  7. NatĂŒrlich muß man auch mal aufrĂ€umen, was in diesem Fall meint, daß alle FensterIDs aus der Speicherung entfernt werden, die nicht mehr prĂ€sent sind. Normalerweise wĂŒrde man ja annehmen, daß FensterIDs fortlaufend sind, aber nicht bei uns, da werden die FensterIDs wiederverwendet. Tja.

Das funktioniert ganz gut, von Gnome selbst mal abgesehen. Alles was wir jetzt noch machen mĂŒssen, ist dem ganzen ein Desktopfile zu erstellen, damit es in der AppĂŒbersicht auftaucht:

[Desktop Entry]
Version=1.0
Name=WindowMaximizer
Name[de_DE]=WindowMaximizer
Exec=windowmaximizerwatch
#Terminal=false
Type=Application
StartupNotify=true
#Icon=cs-login
Icon=/usr/share/icons/Mint-X/apps/96/cs-login.svg
MimeType=x-content/unix-software
Categories=Network;
Keywords=web;internet;
X-Desktop-File-Install-Version=0.23

Diese Datei wird nach /usr/share/applications/windowmaximizer.desktop geschrieben.

Wenn alle Shellscripte mit chmod 755 versehen wurden, kann es losgehen. Ich rate dazu ein anderes Icon zu benutzen, da mĂŒĂŸt Ihr allerdings selbst sehen, welches Ihr nehmen wollt.

Mit dem Gnome-Tweak-Tools ( Optimierungen ) kann man das Script als App im StartmenĂŒ platzieren und so sollte es beim nĂ€chsten Start des Desktops automatisch mitstarten. Wenn es das nicht tut, einfach von Hand selbst starten.

Ab nun werden alle-gnome Fenster maximiert und selbst bei Gnome-Fenstern klappt das gelegentlich ( die haben so eine Art Tagesform ). Wer das ganze verbessern will, kann noch eine APP Datenbank aufbauen, aus der z.b. festgelegt wird, ob eine Anwendung in Fullscreen gehen soll, oder nicht. Ist nur so ein Gedanke.. an einen weiteren Bugreport bei Gnome 😉 NatĂŒrlich habe ich das schon ausprobiert 😀

In 3 Tagen sehen wir uns wieder. Achtet auf die tĂ€glichen kleinen Pine Updates, die kommen alle außer der Reihe rein. Öfters Reinschauen oder gleich den RSS-Feed abonnieren.

 

Pinephone: Judgement Day!