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!