Sviluppatori

Se sei un programmatore (o vuoi diventarlo) e sei interessato a sviluppare nuove funzionalità, correggere bug o migliorare l’interfaccia utente di OpenShot, le sezioni seguenti spiegheranno come iniziare e partecipare!

Il quadro generale

OpenShot Video Editor ha 3 componenti principali: un’interfaccia utente Python & PyQt (openshot-qt), una libreria audio C++ (libopenshot-audio) e una libreria video C++ (libopenshot). Se non conosci Python, PyQt o C++, questi sono ottimi argomenti da approfondire a questo punto.

Tuttavia, molti bug possono essere risolti e nuove funzionalità aggiunte solo con la conoscenza di Python, poiché i componenti C++ non sono coinvolti nell’interfaccia utente. Python è un linguaggio straordinario, molto divertente da imparare, ed è l’unica competenza prerequisito necessaria per diventare uno sviluppatore OpenShot!

Avvertimento

Le istruzioni che seguono sono per Ubuntu Linux, l’ambiente più semplice da configurare per lo sviluppo di OpenShot. Se usi un altro sistema operativo, ti suggerisco di eseguire una macchina virtuale con Ubuntu LTS prima di procedere.

Se devi usare un sistema Windows o Mac per lo sviluppo, inizia consultando le note di compilazione nel wiki di libopenshot. Compilare la libreria con tutte le sue dipendenze è la parte più difficile del processo.

Ottenere il codice sorgente più recente

Prima di poter correggere bug o aggiungere funzionalità, dobbiamo ottenere il codice sorgente sul tuo computer.

Usa git per clonare i nostri 3 repository:

git clone https://github.com/OpenShot/libopenshot-audio.git
git clone https://github.com/OpenShot/libopenshot.git
git clone https://github.com/OpenShot/openshot-qt.git

Configurare il tuo ambiente di sviluppo

Per compilare o eseguire OpenShot, dobbiamo installare alcune dipendenze sul tuo sistema. Il modo più semplice per farlo è tramite il nostro Daily PPA. Un PPA è un repository Ubuntu non ufficiale, che contiene i nostri pacchetti software disponibili per il download e l’installazione.

sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
sudo apt-get update
sudo apt-get install openshot-qt \
                     cmake \
                     libx11-dev \
                     libasound2-dev \
                     libavcodec-dev \
                     libavdevice-dev \
                     libavfilter-dev \
                     libavformat-dev \
                     libavresample-dev \
                     libavutil-dev \
                     libfdk-aac-dev \
                     libfreetype6-dev \
                     libjsoncpp-dev \
                     libmagick++-dev \
                     libopenshot-audio-dev \
                     libprotobuf-dev \
                     libqt5svg5-dev \
                     libswscale-dev \
                     libunittest++-dev \
                     libxcursor-dev \
                     libxinerama-dev \
                     libxrandr-dev \
                     libzmq3-dev \
                     pkg-config \
                     python3-dev \
                     protobuf-compiler \
                     qtbase5-dev \
                     libqt5svg5-dev \
                     libxcb-xfixes0-dev \
                     qtmultimedia5-dev \
                     swig

A questo punto, dovresti avere il codice sorgente dei 3 componenti di OpenShot clonati in cartelle locali, il PPA daily di OpenShot installato e tutte le dipendenze di sviluppo e runtime necessarie installate. È un ottimo inizio, e ora siamo pronti a compilare del codice!

libopenshot-audio (Istruzioni di compilazione)

Questa libreria è necessaria per la riproduzione audio e gli effetti audio. Si basa sul framework audio JUCE. Ecco i comandi per compilarla:

cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install

Fondamentalmente, passiamo alla cartella libopenshot-audio/build, quindi eseguiamo cmake .. sulla cartella superiore. Questo trova le dipendenze e crea tutti i Makefile necessari per compilare questa libreria. Poi make usa quei Makefile per compilare la libreria, e make install li installa nella posizione specificata. Se CMAKE_INSTALL_PREFIX non è impostato, i file verranno installati in /usr/local/ (di default) e make install richiederà privilegi amministrativi.

libopenshot (Istruzioni di compilazione)

Questa libreria è necessaria per la decodifica, codifica, animazione video e praticamente tutto il resto. Gestisce il lavoro pesante dell’editing video e della riproduzione. Ecco i comandi per compilarla:

cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make

Fondamentalmente, passiamo alla cartella libopenshot/build, quindi eseguiamo cmake .. sulla cartella superiore. Questo trova le dipendenze e crea tutti i Makefile necessari per compilare questa libreria. Poi make usa quei Makefile per compilare la libreria. Poiché abbiamo fornito la posizione della nostra installazione compilata di libopenshot-audio, quella versione della libreria sarà usata invece della versione di sistema (se presente).

Non installiamo libopenshot dopo la compilazione, perché non è necessario. Per scopi di test, possiamo dire a OpenShot di usare libopenshot direttamente dalla nostra directory build.

Binding linguistici

L’API di libopenshot è disponibile in diverse lingue tramite binding SWIG. Python è usato dall’interfaccia utente di OpenShot, e forniamo anche binding per Ruby e Java. Il supporto sperimentale per Godot 4.4 è incluso per gli sviluppatori che vogliono integrare funzionalità di editing video nel motore di gioco Godot. Tutti questi binding mappano allo stesso codice C++ così puoi modificare video dall’ambiente che preferisci.

openshot-qt (Istruzioni di avvio)

Questa è la nostra principale applicazione PyQt Python. Poiché è scritta in Python, non richiede compilazione per essere eseguita. Per avviare OpenShot dal codice sorgente con le nostre librerie libopenshot-audio e libopenshot appena compilate, usa i seguenti comandi:

cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py

Questo dovrebbe avviare l’interfaccia utente di OpenShot. Qualsiasi modifica apportata ai file del codice sorgente (file Python *.py, file UI PyQt *.ui, ecc…) sarà inclusa. Questo richiede le librerie libopenshot-audio e libopenshot e, se qualcosa è andato storto con i passaggi precedenti, OpenShot probabilmente non si avvierà.

Se OpenShot si avvia a questo punto, congratulazioni! Ora hai una versione locale funzionante di OpenShot, che gira dal tuo codice sorgente locale. Prova a fare qualche modifica al codice sorgente e riavvia OpenShot… ora dovresti vedere le tue modifiche!

Problemi su GitHub

Ora che hai compilato e avviato con successo OpenShot Video Editor dal codice sorgente, assicurati di consultare la nostra lista di segnalazioni di bug su GitHub: OpenShot Issues. Inoltre, ti invitiamo a compilare il nostro rapido modulo per contributori e a presentarti!

Condividi le tue modifiche

Una volta che hai risolto un bug o aggiunto una nuova funzionalità straordinaria, assicurati di condividerla con il team di OpenShot. Idealmente, possiamo unire queste modifiche nel nostro ramo principale del codice sorgente. Il modo più semplice per condividere le tue modifiche è creare un fork del nostro repository, inviare le tue modifiche su GitHub e creare una Pull Request. Una Pull Request informa il team di OpenShot che hai modifiche pronte per essere unite. Poi possiamo esaminare, fornire feedback e, si spera, unire le tue modifiche nel ramo principale.