xamin für Linux installieren

Startseite Foren Deutsches LiveCode-Forum xamin für Linux installieren

Schlagwörter: , , ,

Ansicht von 17 Antwort-Themen
  • Autor
    Beiträge
    • #30612
      nobotter
      Teilnehmer

        Hallo,

        Mein derzeitiger Kenntnissstand:
        1) LiveCode benötigt zum Abspielen von Videos auf Linux den mplayer
        2) zusätzlich benötigt LC zum Abspielen von Audios auf Linux den xamin.

        Ich verwende LinuxMint (19.3)

        zu 1) OK erledigt

        aber zu 2) xamin

        Hat jemand eine funktionierende Anleitung, wie xamin auf Linux Mint
        installiert wird?

        Habe nur das gefunden:
        https://livecode.fandom.com/de/wiki/Installing_xanim
        Funktioniert aber nicht.

        Danke
        nobotter

      • #30616
        Torsten
        Teilnehmer

          Hi nobotter,

          soweit ich recherchiert habe, sollte mplayer auch Audiodateien abspielen:

          mplayer foo.mp3

          Von daher nehme ich an, dass Du xanim gar nicht brauchst? Hast Du es mal direkt mit Audio-Dateien probiert? siehe https://www.youtube.com/watch?v=mxPzQaF-Feg

          Happy coding!
          Torsten

        • #30618
          nobotter
          Teilnehmer

            Hallo Torsten,

            du hast natürlich recht und der mplayer spielt auch Audio-Dateien.

            Aber mit LiveCode nur im Zusammenhang mit dem „player“-command
            aber nicht mit dem „play“-command und deshalb funktioniert
            z.B.

            play audioclip

            nicht, wenn man die Clips in LiveCode mittels „Import as Control“
            eingeladen hat und diese abspielen will.

            Und mit dem „player“-command komme ich nicht an die eingeladenen
            Clips sondern brauche ja stattdessen dafür den: play audioclip

            Und der play audioclip geht in Linux wohl nur mit dem xamin.

            Grüße
            nobotter

          • #30656
            Torsten
            Teilnehmer

              Ist es denn dann unbedingt notwendig, die Dateien als Control einzubinden? xanimn ist ja nun auch schon uralt (1999 letztes release xanim.polter.net)

            • #30659
              nobotter
              Teilnehmer

                Hallo Torsten,

                Das Ganze ist unter dem Aspekt „Datenschutz“ zu sehen.

                LiveCode bietet ja die Möglichkeit, benötigte Dateien entweder:

                a) direkt einzubinden (über „Import as Control“)

                oder

                b) diese Dateien getrennt und in zusätzlichen Ordnern zu verwenden.

                Variante b) hat aber den großen Nachteil, dass diese Dateien dann für alle sehr einfach als Original einsehbar und verwendbar sind.
                Copyright-Verletzungen sind damit sehr einfach Tür und Tor geöffnet.

                Sind die Dateien aber nach a) direkt in LiveCode eingebunden und dann
                compiliert, sind die Dateien technisch wesentlich besser geschützt.
                (zumindest ist es für Privatpersonen dann nicht mehr einfach)

                Die App wird dadurch zwar insgesamt größer, hat dafür aber keine leicht
                einsehbaren zusätzlichen Ordner mehr.

                Gibt es denn für Linux einen anderen Trick ohne xamin, wie man Audio-Dateien, die man in LiveCode mittels „Import as Control“ eingeladen / eingebunden hat, abspielen kann.

                Grüße
                nobotter

              • #30668
                Torsten
                Teilnehmer

                  Als Trick würde mir dazu einfallen, die Audiodateien in ein verschlüssteltes ZIP-Archiv zu packen und das Audiofile nur dann rauszuholen (und dann wieder zu löschen), wenn es gebraucht wird.

                • #30674
                  nobotter
                  Teilnehmer

                    Hallo Torsten,

                    du denkst an eine passwort-geschützes zip-Archiv?

                    Mit welchen „Entzippern“ arbeitet LiveCode denn da zusammen?
                    LiveCode müsste ja eingebettet zunächst das Passwort enthalten und den
                    Ort/die Orte, wohin die Dateien entpackt werden sollen.

                    Anschließen müsste LiveCode das „Entzipper-Programm“ starten,
                    das Passwort und die Speicherorte dem „Entzipper“ übergegeben
                    und dann beim „Entzipper“ den Entpackungsprozess auslösen.

                    Bei Programmende könnte LiveCode dann alle entpackten Dateien
                    wieder löschen.

                    Habe ich sinngemäß deine Idee richtig wiedergegeben und geht
                    das mit/in LiveCode?

                    Grüße und vielen Dank
                    nobotter

                  • #30678
                    Klaus Major
                    Administrator

                      Hi nobotter,

                      Du kannst mit LC auch ENT-/ZIPpen! Also keine Software von Drittanbietern nötig.
                      Allerdings unterstützt LC keine passwordgeschützen Archive.

                      Ich würde alle benötigten Sounddateien mit LC zuerst einzeln ZIPpen und dann in
                      mehrere Custom Properties Deines Stacks packen, so sind sie immer noch innerhalb
                      Deiner EXE oder APP oder wie das unter Linux heisst.

                      Eventuell ist das ENT-/Zippen ja gar nicht nötig?!
                      Die Dateien müssen ja entZIPped sein, um mit PLAY abgespielt werden zu können.
                      Also einfach die Sounds in Custom Properties packen und wie oben weitermachen.

                      Leider können wir importierte Sound- und Videodateien (import as control…)
                      nicht wieder „ausspucken“, also wieder auf die Platte speichern, daher dieser
                      Umweg über Custom Properties.

                      Entpackungsort am Besten -> specialfolderpath(„temporary“)
                      Und dort die Dateien beim Programmende wieder löschen.

                      Gruß

                      Klaus

                    • #30680
                      Torsten
                      Teilnehmer

                        Hi nobotter,

                        hast alles verstanden!

                        LiveCode hat zwar eine ganz gute Zip-Funktion, aber leider keine verschlüsselte. Aber Linux hat scheinbar selber eine zip-Funktion, mit der man das alles machen kann:
                        https://www.xmodulo.com/how-to-create-encrypted-zip-file-on-linux.html

                        Das geht dann über die shell()-Befehle in Livecode, also dann:

                        put shell("zip --password MY_SECRET secure.zip doc.pdf doc2.pdf doc3.pdf") into field "Ergebnis"

                        Happy Coding!
                        Torsten

                      • #30682
                        Klaus Major
                        Administrator

                          Aber Linux hat scheinbar …

                          Doch wohl eher „anscheinend“, oder? 😉

                        • #30684
                          Torsten
                          Teilnehmer

                            Hi Klaus,

                            Du hast recht, anscheinend hat Linx eine eingebaute zip-Funktion 🙂

                            Aber Dein Trick mit den custom properties ist natürlich der Hit, den würde ich verwenden.
                            Je nachdem, wie komprimiert das Audio-Format eh schon ist, kann man sich dann auch das zippen sparen.

                          • #30686
                            Klaus Major
                            Administrator

                              Genau, so mente ich das mit:

                              Eventuell ist das ENT-/Zippen ja gar nicht nötig?!

                              Nachdem ich erst einmal verstanden hatte, was Custom Properties sind
                              und wie man sie benutzt, möchte ich sie nun nie mehr missen! 🙂

                              • #30690
                                Torsten
                                Teilnehmer

                                  Nachdem ich erst einmal verstanden hatte, was Custom Properties sind
                                  und wie man sie benutzt, möchte ich sie nun nie mehr missen! ?

                                  Jou, das ist ja quasi eine eigene interne Festplatte 🙂

                              • #30721
                                nobotter
                                Teilnehmer

                                  Hallo Klaus,

                                  ich möchte deinen Vorschlag mit den Custom Properties aufgreifen.

                                  Das hatte ich auch schon versucht, aber es nicht hingekriegt.

                                  Ich habe wohl was falsch gemacht oder das Ganze geht nur
                                  im Zusammenhang mit dem „play“-Command aber nicht im Zusammenhang
                                  mit einem Player und „start player“.

                                  Ich habe meine Audiodatei „superClip.wav“ mit „Import as Control“ eingeladen. Sie liegt dann im LC-Projekt-Browser unter „Audioclips“

                                  Dann habe ich auf einer Card einen Player mit Namen „superfeld1“
                                  eingerichtet. Und diesen habe ich dann versucht über den Property Inspektor irgendwie mit „superClip.wav“ als Property zu verbinden.

                                  Wie genau müsste ich denn bei den „Custom Properties“ vorgehen / eintippen, damit der Player dann auch mit der Audiodatei „superClip.wav“ verbunden ist und dann beim Aufruf: start player „superfeld1“
                                  den Ciip abspielt.

                                  Grüße
                                  nobotter

                                • #30762
                                  Klaus Major
                                  Administrator

                                    Hi nobotter,

                                    das hast Du leider total missverstanden.
                                    Der Trick ist, Deine Sounddateien in einem „Geheimfach“ innerhalb des Stack zu verstecken und nur bei Bedarf mal eben zum Abspielen auf die Platte schreiben.

                                    OK, von vorne…

                                    Eine Custom Property ist eine von uns frei definierbare Property, die immer einem Objekt zugeordnet ist wie Stack, Karte, Button etc. eben jedes LC Objekt.

                                    Sie kann alles Mögliche aufnehmen, Text, auch Arrays und binäre Daten, wie eine Variable.

                                    Unterschied zu Variablen:
                                    1. Sie müssen nicht als LOKAL oder GLOBAL deklariert werden, da sie ja eine „feste Adresse“ haben und so von überall angesprochen werden können:

                                    ## Ich verwende die Vorsilbe C, um Custom Properties auf einen Blick sichtbar zu machen:
                                    set the cWasAuchImmer of button "ein Button" of cd 42 of stack "El Stacko" to "ein kleiner string"

                                    2. Sie werden mit dem Stack gespeichert, sofern der Stack gespeichert wird!
                                    Somit ein praktischer Ort, um zum Programm gehörige Daten im Stack zu verwalten.

                                    OK, zu Deinem Fall:
                                    1. Du musst Deine Sounds in dem Stack in mehrere Custom Properties packen:

                                    ...
                                    set the cSuperclip of this stack to url("binfile:" & "pfad/zu/superclip.wav")
                                    ## Stack speichern und die Datei ist drin...
                                    ## Dito für weitere Dateien
                                    ...

                                    2. Zum Abspielen musst Du diese Datei wieder „ausspucken“, um sie benutzen zu können:

                                    ...
                                    put specialfolderpath("temporary") & "/superclip.wav" into tSoundFile
                                    put the cSuperclip of this stack into url("binfile:" & tSoundFile)
                                    ## Jetzt kannst Du entweder:
                                    play ac tSoundFile
                                    
                                    ## oder:
                                    set the filename of player "superfeld1" to tSoundFile
                                    start player "superfeld1"
                                    ...

                                    Klar soweit?

                                    Gruß

                                    Klaus

                                  • #30764
                                    Torsten
                                    Teilnehmer

                                      Sehr genial, super Tip!

                                    • #30778
                                      nobotter
                                      Teilnehmer

                                        Hallo Klaus,

                                        jetzt ist alles klar soweit.

                                        Das „Zauberwort“ ist „binfile“!

                                        Ich hatte deinen Weg sinngemäß auch schon mal versucht aber anstatt von „binfile:“ leider nur „file:“ verwendet und hatte damit
                                        dann keine guten Soundergebnisse.

                                        Jetzt läuft alles einwandfrei. Vielen Dank, SuperTip!

                                        Grüße
                                        noboter

                                      • #30780
                                        Klaus Major
                                        Administrator

                                          SAUBER! 🙂

                                        • #30798
                                          nobotter
                                          Teilnehmer

                                            Hallo Torsten,

                                            auch an Dich noch meinen Dank für Deine Idee mit den zip-Archiven im Zusammenhang mit den shell()-Funktionen in LiveCode.

                                            Grüße
                                            nobotter

                                        Ansicht von 17 Antwort-Themen
                                        • Du musst angemeldet sein, um auf dieses Thema antworten zu können.