began large scale restructure

This commit is contained in:
itsmattkc
2019-06-17 10:17:04 -07:00
parent 0acee942f4
commit 9afbe92574
39 changed files with 1179 additions and 884 deletions
+17 -510
View File
@@ -1,3 +1,19 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
project(olive-editor LANGUAGES CXX)
@@ -72,515 +88,6 @@ endif()
find_package(Doxygen)
set(OLIVE_SOURCES
decoders/decoder.cpp
decoders/decoder.h
decoders/ffmpegdecoder.cpp
decoders/ffmpegdecoder.h
decoders/ffmpegvideodecoder.cpp
decoders/ffmpegvideodecoder.h
decoders/frame.cpp
decoders/frame.h
decoders/pixelformatconverter.cpp
decoders/pixelformatconverter.h
decoders/audio/ffmpegaudiodecoder.cpp
decoders/audio/ffmpegaudiodecoder.h
dialogs/aboutdialog.cpp
dialogs/aboutdialog.h
dialogs/actionsearch.cpp
dialogs/actionsearch.h
dialogs/advancedvideodialog.cpp
dialogs/advancedvideodialog.h
dialogs/autocutsilencedialog.cpp
dialogs/autocutsilencedialog.h
dialogs/clippropertiesdialog.cpp
dialogs/clippropertiesdialog.h
dialogs/crashdialog.cpp
dialogs/crashdialog.h
dialogs/debugdialog.cpp
dialogs/debugdialog.h
dialogs/demonotice.cpp
dialogs/demonotice.h
dialogs/exportdialog.cpp
dialogs/exportdialog.h
dialogs/loaddialog.cpp
dialogs/loaddialog.h
dialogs/mediapropertiesdialog.cpp
dialogs/mediapropertiesdialog.h
dialogs/newsequencedialog.cpp
dialogs/newsequencedialog.h
dialogs/preferencesdialog.cpp
dialogs/preferencesdialog.h
dialogs/proxydialog.cpp
dialogs/proxydialog.h
dialogs/replaceclipmediadialog.cpp
dialogs/replaceclipmediadialog.h
dialogs/speeddialog.cpp
dialogs/speeddialog.h
dialogs/texteditdialog.cpp
dialogs/texteditdialog.h
effects/effectfield.cpp
effects/effectfield.h
effects/effectfields.h
effects/effectgizmo.cpp
effects/effectgizmo.h
effects/effectloaders.cpp
effects/effectloaders.h
effects/fields/boolfield.cpp
effects/fields/boolfield.h
effects/fields/buttonfield.cpp
effects/fields/buttonfield.h
effects/fields/colorfield.cpp
effects/fields/colorfield.h
effects/fields/combofield.cpp
effects/fields/combofield.h
effects/fields/doublefield.cpp
effects/fields/doublefield.h
effects/fields/filefield.cpp
effects/fields/filefield.h
effects/fields/fontfield.cpp
effects/fields/fontfield.h
effects/fields/labelfield.cpp
effects/fields/labelfield.h
effects/fields/stringfield.cpp
effects/fields/stringfield.h
effects/internal/audionoiseeffect.cpp
effects/internal/audionoiseeffect.h
effects/internal/cornerpineffect.cpp
effects/internal/cornerpineffect.h
effects/internal/crossdissolvetransition.cpp
effects/internal/crossdissolvetransition.h
effects/internal/cubetransition.h
effects/internal/dropshadoweffect.cpp
effects/internal/dropshadoweffect.h
effects/internal/exponentialfadetransition.cpp
effects/internal/exponentialfadetransition.h
effects/internal/fillleftrighteffect.cpp
effects/internal/fillleftrighteffect.h
effects/internal/linearfadetransition.cpp
effects/internal/linearfadetransition.h
effects/internal/logarithmicfadetransition.cpp
effects/internal/logarithmicfadetransition.h
effects/internal/paneffect.cpp
effects/internal/paneffect.h
effects/internal/richtexteffect.cpp
effects/internal/richtexteffect.h
effects/internal/shakeeffect.cpp
effects/internal/shakeeffect.h
effects/internal/solideffect.cpp
effects/internal/solideffect.h
effects/internal/texteffect.cpp
effects/internal/texteffect.h
effects/internal/timecodeeffect.cpp
effects/internal/timecodeeffect.h
effects/internal/toneeffect.cpp
effects/internal/toneeffect.h
effects/internal/transformeffect.cpp
effects/internal/transformeffect.h
effects/internal/voideffect.cpp
effects/internal/voideffect.h
effects/internal/volumeeffect.cpp
effects/internal/volumeeffect.h
effects/internal/vsthost.cpp
effects/internal/vsthost.h
effects/keyframe.cpp
effects/keyframe.h
effects/transition.cpp
effects/transition.h
global/clipboard.cpp
global/clipboard.h
global/config.cpp
global/config.h
global/crashhandler.cpp
global/crashhandler.h
global/debug.cpp
global/debug.h
global/global.cpp
global/global.h
global/math.cpp
global/math.h
global/path.cpp
global/path.h
global/rational.h
global/rational.cpp
global/timing.cpp
global/timing.h
nodes/inputs/boolinput.cpp
nodes/inputs/boolinput.h
nodes/inputs/colorinput.cpp
nodes/inputs/colorinput.h
nodes/inputs/comboinput.cpp
nodes/inputs/comboinput.h
nodes/inputs/fileinput.cpp
nodes/inputs/fileinput.h
nodes/inputs/fontinput.cpp
nodes/inputs/fontinput.h
nodes/inputs.h
nodes/inputs/stringinput.cpp
nodes/inputs/stringinput.h
nodes/inputs/vecinput.cpp
nodes/inputs/vecinput.h
nodes/node.cpp
nodes/nodedatatypes.cpp
nodes/nodedatatypes.h
nodes/nodeedge.cpp
nodes/nodeedge.h
nodes/nodegraph.cpp
nodes/nodegraph.h
nodes/nodeio.cpp
nodes/nodeio.h
nodes/node.h
nodes/nodes.h
nodes/oldeffectnode.h
nodes/oldeffectnode.cpp
nodes/nodes/nodeblock.h
nodes/nodes/nodeblock.cpp
nodes/nodes/nodetexturepassthru.cpp
nodes/nodes/nodetexturepassthru.h
nodes/nodes/nodemedia.cpp
nodes/nodes/nodemedia.h
nodes/nodes/nodeshader.cpp
nodes/nodes/nodeshader.h
nodes/nodes/nodevideoclip.cpp
nodes/nodes/nodevideoclip.h
nodes/widgets/buttonwidget.cpp
nodes/widgets/buttonwidget.h
nodes/widgets/labelwidget.cpp
nodes/widgets/labelwidget.h
panels/effectcontrols.cpp
panels/effectcontrols.h
panels/effectspanel.cpp
panels/effectspanel.h
panels/grapheditor.cpp
panels/grapheditor.h
panels/nodeeditor.cpp
panels/nodeeditor.h
panels/panels.cpp
panels/panels.h
panels/project.cpp
panels/project.h
panels/timeline.cpp
panels/timeline.h
panels/viewer.cpp
panels/viewer.h
project/footage.cpp
project/footage.h
project/loadthread.cpp
project/loadthread.h
project/media.cpp
project/media.h
project/previewgenerator.cpp
project/previewgenerator.h
project/projectelements.h
project/projectfilter.cpp
project/projectfilter.h
project/projectfunctions.cpp
project/projectfunctions.h
project/projectmodel.cpp
project/projectmodel.h
project/proxygenerator.cpp
project/proxygenerator.h
project/savethread.cpp
project/savethread.h
project/sourcescommon.cpp
project/sourcescommon.h
rendering/audio.cpp
rendering/audio.h
rendering/cacher.cpp
rendering/cacher.h
rendering/clipqueue.cpp
rendering/clipqueue.h
rendering/exportthread.cpp
rendering/exportthread.h
rendering/framebufferobject.cpp
rendering/framebufferobject.h
rendering/imagecache.h
rendering/imagecache.cpp
rendering/memorybuffer.h
rendering/memorybuffer.cpp
rendering/pixelformats.cpp
rendering/pixelformats.h
rendering/qopenglshaderprogramptr.h
rendering/renderfunctions.cpp
rendering/renderfunctions.h
rendering/renderthread.cpp
rendering/renderthread.h
rendering/shadergenerators.cpp
rendering/shadergenerators.h
timeline/clip.cpp
timeline/clip.h
timeline/ghost.cpp
timeline/ghost.h
timeline/marker.cpp
timeline/marker.h
timeline/mediaimportdata.cpp
timeline/mediaimportdata.h
timeline/selection.cpp
timeline/selection.h
timeline/sequence.cpp
timeline/sequence.h
timeline/timelinefunctions.cpp
timeline/timelinefunctions.h
timeline/timelineshared.cpp
timeline/timelineshared.h
timeline/timelinetools.cpp
timeline/timelinetools.h
timeline/track.cpp
timeline/track.h
timeline/tracktypes.h
ui/audiomonitor.cpp
ui/audiomonitor.h
ui/blur.cpp
ui/blur.h
ui/clickablelabel.cpp
ui/clickablelabel.h
ui/collapsiblewidget.cpp
ui/collapsiblewidget.h
ui/colorbutton.cpp
ui/colorbutton.h
ui/columnedgridlayout.cpp
ui/columnedgridlayout.h
ui/comboboxex.cpp
ui/comboboxex.h
ui/cursors.cpp
ui/cursors.h
ui/effectui.cpp
ui/effectui.h
ui/embeddedfilechooser.cpp
ui/embeddedfilechooser.h
ui/flowlayout.cpp
ui/flowlayout.h
ui/focusfilter.cpp
ui/focusfilter.h
ui/graphview.cpp
ui/graphview.h
ui/icons.cpp
ui/icons.h
ui/keyframedrawing.cpp
ui/keyframedrawing.h
ui/keyframenavigator.cpp
ui/keyframenavigator.h
ui/keyframeview.cpp
ui/keyframeview.h
ui/labelslider.cpp
ui/labelslider.h
ui/mainwindow.cpp
ui/mainwindow.h
ui/mediaiconservice.cpp
ui/mediaiconservice.h
ui/menu.cpp
ui/menu.h
ui/menuhelper.cpp
ui/menuhelper.h
ui/nodeedgeui.cpp
ui/nodeedgeui.h
ui/nodeui.cpp
ui/nodeui.h
ui/nodeview.cpp
ui/nodeview.h
ui/panel.cpp
ui/panel.h
ui/rectangleselect.cpp
ui/rectangleselect.h
ui/resizablescrollbar.cpp
ui/resizablescrollbar.h
ui/sourceiconview.cpp
ui/sourceiconview.h
ui/sourcetable.cpp
ui/sourcetable.h
ui/styling.cpp
ui/styling.h
ui/texteditex.cpp
ui/texteditex.h
ui/timelinearea.cpp
ui/timelinearea.h
ui/timelineheader.cpp
ui/timelineheader.h
ui/timelinelabel.cpp
ui/timelinelabel.h
ui/timelineview.cpp
ui/timelineview.h
ui/updatenotification.cpp
ui/updatenotification.h
ui/viewercontainer.cpp
ui/viewercontainer.h
ui/viewerwidget.cpp
ui/viewerwidget.h
ui/viewerwindow.cpp
ui/viewerwindow.h
ui/waveform.cpp
ui/waveform.h
undo/comboaction.cpp
undo/comboaction.h
undo/undo.cpp
undo/undo.h
undo/undostack.cpp
undo/undostack.h
main.cpp
)
set(OLIVE_RESOURCES
cursors/cursors.qrc
effects/internal/internalshaders.qrc
icons/icons.qrc
)
set(OLIVE_EFFECTS
effects/internal/cornerpin.frag
effects/internal/dropshadow.frag
effects/internal/ocio.frag
effects/internal/premultiply.frag
effects/shaders/boxblur.frag
effects/shaders/boxblur.xml
effects/shaders/bulge.frag
effects/shaders/bulge.xml
effects/shaders/chromaticaberration.frag
effects/shaders/chromaticaberration.xml
effects/shaders/crop.frag
effects/shaders/crop.xml
effects/shaders/despill.frag
effects/shaders/despill.xml
effects/shaders/directionalblur.frag
effects/shaders/directionalblur.xml
effects/shaders/flip.frag
effects/shaders/flip.xml
effects/shaders/gaussianblur.frag
effects/shaders/gaussianblur.xml
effects/shaders/need\ checking/chromakey.frag
effects/shaders/need\ checking/chromakey.xml
effects/shaders/need\ checking/colorcorrection.frag
effects/shaders/need\ checking/colorcorrection.xml
effects/shaders/need\ checking/colorsel.frag
effects/shaders/need\ checking/colorsel.xml
effects/shaders/need\ checking/common.frag
effects/shaders/need\ checking/crossstitch.frag
effects/shaders/need\ checking/crossstitch.xml
effects/shaders/need\ checking/emboss.frag
effects/shaders/need\ checking/emboss.xml
effects/shaders/need\ checking/findedges.frag
effects/shaders/need\ checking/fisheye.frag
effects/shaders/need\ checking/fisheye.xml
effects/shaders/need\ checking/huesatbri.frag
effects/shaders/need\ checking/huesatbri.xml
effects/shaders/need\ checking/invert.frag
effects/shaders/need\ checking/invert.xml
effects/shaders/need\ checking/lumakey.frag
effects/shaders/need\ checking/lumakey.xml
effects/shaders/need\ checking/posterize.frag
effects/shaders/need\ checking/posterize.xml
effects/shaders/need\ checking/toonify.frag
effects/shaders/need\ checking/toonify.xml
effects/shaders/need\ checking/volumetriclight.frag
effects/shaders/need\ checking/volumetriclight.xml
effects/shaders/noise.frag
effects/shaders/noise.xml
effects/shaders/pixelate.frag
effects/shaders/pixelate.xml
effects/shaders/radialblur.frag
effects/shaders/radialblur.xml
effects/shaders/ripple.frag
effects/shaders/ripple.xml
effects/shaders/sphere.frag
effects/shaders/sphere.xml
effects/shaders/swirl.frag
effects/shaders/swirl.xml
effects/shaders/tile.frag
effects/shaders/tile.xml
effects/shaders/vignette.frag
effects/shaders/vignette.xml
effects/shaders/wave.frag
effects/shaders/wave.xml
)
qt5_create_translation(OLIVE_QM_FILES
${CMAKE_SOURCE_DIR}
ts/olive_ar.ts
ts/olive_bs.ts
ts/olive_cs.ts
ts/olive_de.ts
ts/olive_es.ts
ts/olive_fr.ts
ts/olive_it.ts
ts/olive_ru.ts
ts/olive_sr.ts
ts/olive_id.ts
)
set(OLIVE_TARGET "olive-editor")
if(APPLE)
set(OLIVE_TARGET "Olive")
endif()
add_executable(${OLIVE_TARGET}
${OLIVE_SOURCES}
${OLIVE_RESOURCES}
${OLIVE_EFFECTS}
${OLIVE_QM_FILES}
)
target_compile_definitions(${OLIVE_TARGET} PRIVATE ${OLIVE_DEFINITIONS})
target_compile_options(${OLIVE_TARGET} PRIVATE $<$<CXX_COMPILER_ID:GNU>:-Wno-reorder>)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
target_link_libraries(${OLIVE_TARGET}
PRIVATE
OpenGL::GL
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Multimedia
Qt5::OpenGL
Qt5::Svg
FFMPEG::avutil
FFMPEG::avcodec
FFMPEG::avformat
FFMPEG::avfilter
FFMPEG::swscale
FFMPEG::swresample
OpenColorIO
)
if(MINGW)
target_link_libraries(${OLIVE_TARGET} PRIVATE DbgHelp)
# Crash report uses MSVC-style PDBs, we convert symbols to this format here
#add_custom_command(TARGET ${OLIVE_TARGET}
# POST_BUILD
# COMMAND ${CMAKE_SOURCE_DIR}/packaging/windows/cv2pdb -C -n "${CMAKE_BINARY_DIR}/${OLIVE_TARGET}.exe")
endif()
if(DOXYGEN_FOUND AND BUILD_DOXYGEN)
set(DOXYGEN_PROJECT_NAME "Olive")
set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/docs")
set(DOXYGEN_EXTRACT_ALL "YES")
set(DOXYGEN_EXTRACT_PRIVATE "YES")
doxygen_add_docs(docs ALL ${OLIVE_SOURCES})
endif()
if(UNIX AND NOT APPLE)
install(TARGETS ${OLIVE_TARGET} RUNTIME DESTINATION bin)
install(FILES ${OLIVE_EFFECTS} DESTINATION share/olive-editor/effects)
install(FILES packaging/linux/org.olivevideoeditor.Olive.desktop DESTINATION share/applications)
install(FILES packaging/linux/org.olivevideoeditor.Olive.appdata.xml DESTINATION share/metainfo)
install(FILES packaging/linux/org.olivevideoeditor.Olive.xml DESTINATION share/mime/packages)
install(FILES packaging/linux/icons/16x16/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/16x16/apps)
install(FILES packaging/linux/icons/32x32/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/32x32/apps)
install(FILES packaging/linux/icons/48x48/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/48x48/apps)
install(FILES packaging/linux/icons/64x64/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/64x64/apps)
install(FILES packaging/linux/icons/128x128/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/128x128/apps)
install(FILES packaging/linux/icons/256x256/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/256x256/apps)
install(FILES packaging/linux/icons/512x512/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/512x512/apps)
install(FILES packaging/linux/icons/16x16/application-vnd.olive-project.png DESTINATION share/icons/hicolor/16x16/mimetypes)
install(FILES packaging/linux/icons/32x32/application-vnd.olive-project.png DESTINATION share/icons/hicolor/32x32/mimetypes)
install(FILES packaging/linux/icons/48x48/application-vnd.olive-project.png DESTINATION share/icons/hicolor/48x48/mimetypes)
install(FILES packaging/linux/icons/64x64/application-vnd.olive-project.png DESTINATION share/icons/hicolor/64x64/mimetypes)
install(FILES packaging/linux/icons/128x128/application-vnd.olive-project.png DESTINATION share/icons/hicolor/128x128/mimetypes)
install(FILES packaging/linux/icons/256x256/application-vnd.olive-project.png DESTINATION share/icons/hicolor/256x256/mimetypes)
install(FILES packaging/linux/icons/512x512/application-vnd.olive-project.png DESTINATION share/icons/hicolor/512x512/mimetypes)
install(FILES ${OLIVE_QM_FILES} DESTINATION share/olive-editor/ts)
set(CMAKE_CXX_FLAGS "-rdynamic ${CMAKE_CXX_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "-rdynamic ${CMAKE_SHARED_LINKER_FLAGS}")
endif()
add_subdirectory(app)
+178
View File
@@ -0,0 +1,178 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
main.cpp
)
add_subdirectory(panel)
add_subdirectory(project)
add_subdirectory(render)
add_subdirectory(widget)
add_subdirectory(window)
set(OLIVE_TARGET "olive-editor")
if(APPLE)
set(OLIVE_TARGET "Olive")
endif()
add_executable(${OLIVE_TARGET}
${OLIVE_SOURCES}
${OLIVE_RESOURCES}
${OLIVE_EFFECTS}
${OLIVE_QM_FILES}
)
target_compile_definitions(${OLIVE_TARGET} PRIVATE ${OLIVE_DEFINITIONS})
target_compile_options(${OLIVE_TARGET} PRIVATE $<$<CXX_COMPILER_ID:GNU>:-Wno-reorder>)
target_link_libraries(${OLIVE_TARGET}
PRIVATE
OpenGL::GL
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Multimedia
Qt5::OpenGL
Qt5::Svg
FFMPEG::avutil
FFMPEG::avcodec
FFMPEG::avformat
FFMPEG::avfilter
FFMPEG::swscale
FFMPEG::swresample
OpenColorIO
)
set(OLIVE_RESOURCES
cursors/cursors.qrc
effects/internal/internalshaders.qrc
icons/icons.qrc
)
set(OLIVE_EFFECTS
effects/internal/cornerpin.frag
effects/internal/dropshadow.frag
effects/internal/ocio.frag
effects/internal/premultiply.frag
effects/shaders/boxblur.frag
effects/shaders/boxblur.xml
effects/shaders/bulge.frag
effects/shaders/bulge.xml
effects/shaders/chromaticaberration.frag
effects/shaders/chromaticaberration.xml
effects/shaders/crop.frag
effects/shaders/crop.xml
effects/shaders/despill.frag
effects/shaders/despill.xml
effects/shaders/directionalblur.frag
effects/shaders/directionalblur.xml
effects/shaders/flip.frag
effects/shaders/flip.xml
effects/shaders/gaussianblur.frag
effects/shaders/gaussianblur.xml
effects/shaders/need\ checking/chromakey.frag
effects/shaders/need\ checking/chromakey.xml
effects/shaders/need\ checking/colorcorrection.frag
effects/shaders/need\ checking/colorcorrection.xml
effects/shaders/need\ checking/colorsel.frag
effects/shaders/need\ checking/colorsel.xml
effects/shaders/need\ checking/common.frag
effects/shaders/need\ checking/crossstitch.frag
effects/shaders/need\ checking/crossstitch.xml
effects/shaders/need\ checking/emboss.frag
effects/shaders/need\ checking/emboss.xml
effects/shaders/need\ checking/findedges.frag
effects/shaders/need\ checking/fisheye.frag
effects/shaders/need\ checking/fisheye.xml
effects/shaders/need\ checking/huesatbri.frag
effects/shaders/need\ checking/huesatbri.xml
effects/shaders/need\ checking/invert.frag
effects/shaders/need\ checking/invert.xml
effects/shaders/need\ checking/lumakey.frag
effects/shaders/need\ checking/lumakey.xml
effects/shaders/need\ checking/posterize.frag
effects/shaders/need\ checking/posterize.xml
effects/shaders/need\ checking/toonify.frag
effects/shaders/need\ checking/toonify.xml
effects/shaders/need\ checking/volumetriclight.frag
effects/shaders/need\ checking/volumetriclight.xml
effects/shaders/noise.frag
effects/shaders/noise.xml
effects/shaders/pixelate.frag
effects/shaders/pixelate.xml
effects/shaders/radialblur.frag
effects/shaders/radialblur.xml
effects/shaders/ripple.frag
effects/shaders/ripple.xml
effects/shaders/sphere.frag
effects/shaders/sphere.xml
effects/shaders/swirl.frag
effects/shaders/swirl.xml
effects/shaders/tile.frag
effects/shaders/tile.xml
effects/shaders/vignette.frag
effects/shaders/vignette.xml
effects/shaders/wave.frag
effects/shaders/wave.xml
)
qt5_create_translation(OLIVE_QM_FILES
${CMAKE_SOURCE_DIR}
ts/olive_ar.ts
ts/olive_bs.ts
ts/olive_cs.ts
ts/olive_de.ts
ts/olive_es.ts
ts/olive_fr.ts
ts/olive_it.ts
ts/olive_ru.ts
ts/olive_sr.ts
ts/olive_id.ts
)
if(UNIX AND NOT APPLE)
install(TARGETS ${OLIVE_TARGET} RUNTIME DESTINATION bin)
install(FILES ${OLIVE_EFFECTS} DESTINATION share/olive-editor/effects)
install(FILES packaging/linux/org.olivevideoeditor.Olive.desktop DESTINATION share/applications)
install(FILES packaging/linux/org.olivevideoeditor.Olive.appdata.xml DESTINATION share/metainfo)
install(FILES packaging/linux/org.olivevideoeditor.Olive.xml DESTINATION share/mime/packages)
install(FILES packaging/linux/icons/16x16/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/16x16/apps)
install(FILES packaging/linux/icons/32x32/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/32x32/apps)
install(FILES packaging/linux/icons/48x48/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/48x48/apps)
install(FILES packaging/linux/icons/64x64/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/64x64/apps)
install(FILES packaging/linux/icons/128x128/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/128x128/apps)
install(FILES packaging/linux/icons/256x256/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/256x256/apps)
install(FILES packaging/linux/icons/512x512/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/512x512/apps)
install(FILES packaging/linux/icons/16x16/application-vnd.olive-project.png DESTINATION share/icons/hicolor/16x16/mimetypes)
install(FILES packaging/linux/icons/32x32/application-vnd.olive-project.png DESTINATION share/icons/hicolor/32x32/mimetypes)
install(FILES packaging/linux/icons/48x48/application-vnd.olive-project.png DESTINATION share/icons/hicolor/48x48/mimetypes)
install(FILES packaging/linux/icons/64x64/application-vnd.olive-project.png DESTINATION share/icons/hicolor/64x64/mimetypes)
install(FILES packaging/linux/icons/128x128/application-vnd.olive-project.png DESTINATION share/icons/hicolor/128x128/mimetypes)
install(FILES packaging/linux/icons/256x256/application-vnd.olive-project.png DESTINATION share/icons/hicolor/256x256/mimetypes)
install(FILES packaging/linux/icons/512x512/application-vnd.olive-project.png DESTINATION share/icons/hicolor/512x512/mimetypes)
install(FILES ${OLIVE_QM_FILES} DESTINATION share/olive-editor/ts)
endif()
if(DOXYGEN_FOUND AND BUILD_DOXYGEN)
set(DOXYGEN_PROJECT_NAME "Olive")
set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/docs")
set(DOXYGEN_EXTRACT_ALL "YES")
set(DOXYGEN_EXTRACT_PRIVATE "YES")
doxygen_add_docs(docs ALL ${OLIVE_SOURCES})
endif()
+53
View File
@@ -0,0 +1,53 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include <QApplication>
#include <QSurfaceFormat>
#include "window/mainwindow/mainwindow.h"
int main(int argc, char *argv[]) {
// Create application instance
QApplication a(argc, argv);
// Set application metadata
QCoreApplication::setOrganizationName("olivevideoeditor.org");
QCoreApplication::setOrganizationDomain("olivevideoeditor.org");
QCoreApplication::setApplicationName("Olive");
#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
QGuiApplication::setDesktopFileName("org.olivevideoeditor.Olive");
#endif
// Set OpenGL display profile (3.2 Core)
QSurfaceFormat format;
format.setVersion(3, 2);
format.setDepthBufferSize(24);
format.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(format);
// Create main window instance
olive::MainWindow w;
// Show main window
w.showMaximized();
return a.exec();
}
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(viewer)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
PARENT_SCOPE
)
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
panel/viewer/viewer.h
panel/viewer/viewer.cpp
PARENT_SCOPE
)
+16
View File
@@ -0,0 +1,16 @@
#include "viewer.h"
#include "widget/viewer/viewer.h"
ViewerPanel::ViewerPanel(QWidget *parent) :
PanelWidget(parent)
{
SetTitle(tr("Viewer"));
SetSubtitle(tr("(None)"));
// QObject system handles deleting this
ViewerWidget* viewer = new ViewerWidget(this);
// Set ViewerWidget as the central widget
setWidget(viewer);
}
+18
View File
@@ -0,0 +1,18 @@
#ifndef VIEWER_PANEL_H
#define VIEWER_PANEL_H
#include "widget/panel/panel.h"
/**
* @brief The ViewerPanel class
*
* Dockable wrapper around a ViewerWidget
*/
class ViewerPanel : public PanelWidget {
Q_OBJECT
public:
ViewerPanel(QWidget* parent);
private:
};
#endif // VIEWER_PANEL_H
+16
View File
@@ -0,0 +1,16 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+23
View File
@@ -0,0 +1,23 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
render/glfunc.h
render/glfunc.cpp
render/qopenglshaderprogramptr.h
PARENT_SCOPE
)
+90
View File
@@ -0,0 +1,90 @@
#include "glfunc.h"
#include <QOpenGLFunctions>
#include <QOpenGLVertexArrayObject>
#include <QOpenGLBuffer>
const GLfloat blit_vertices[] = {
-1.0f, -1.0f, 0.0f,
1.0f, -1.0f, 0.0f,
1.0f, 1.0f, 0.0f,
-1.0f, -1.0f, 0.0f,
-1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 0.0f
};
const GLfloat blit_texcoords[] = {
0.0, 0.0,
1.0, 0.0,
1.0, 1.0,
0.0, 0.0,
0.0, 1.0,
1.0, 1.0
};
const GLfloat flipped_blit_texcoords[] = {
0.0, 1.0,
1.0, 1.0,
1.0, 0.0,
0.0, 1.0,
0.0, 0.0,
1.0, 0.0
};
/**
* @brief Set up texture mipmaps
* @param f
*/
void PrepareToDraw(QOpenGLFunctions* f) {
f->glGenerateMipmap(GL_TEXTURE_2D);
f->glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
f->glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
f->glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
f->glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
}
void olive::gl::Blit(QOpenGLShaderProgram* pipeline, bool flipped, QMatrix4x4 matrix) {
QOpenGLFunctions* func = QOpenGLContext::currentContext()->functions();
PrepareToDraw(func);
QOpenGLVertexArrayObject m_vao;
m_vao.create();
m_vao.bind();
QOpenGLBuffer m_vbo;
m_vbo.create();
m_vbo.bind();
m_vbo.allocate(blit_vertices, 18 * sizeof(GLfloat));
m_vbo.release();
QOpenGLBuffer m_vbo2;
m_vbo2.create();
m_vbo2.bind();
m_vbo2.allocate(flipped ? flipped_blit_texcoords : blit_texcoords, 12 * sizeof(GLfloat));
m_vbo2.release();
pipeline->bind();
pipeline->setUniformValue("mvp_matrix", matrix);
pipeline->setUniformValue("texture", 0);
GLuint vertex_location = pipeline->attributeLocation("a_position");
m_vbo.bind();
func->glEnableVertexAttribArray(vertex_location);
func->glVertexAttribPointer(vertex_location, 3, GL_FLOAT, GL_FALSE, 0, 0);
m_vbo.release();
GLuint tex_location = pipeline->attributeLocation("a_texcoord");
m_vbo2.bind();
func->glEnableVertexAttribArray(tex_location);
func->glVertexAttribPointer(tex_location, 2, GL_FLOAT, GL_FALSE, 0, 0);
m_vbo2.release();
func->glDrawArrays(GL_TRIANGLES, 0, 6);
pipeline->release();
}
+30
View File
@@ -0,0 +1,30 @@
#ifndef GLFUNC_H
#define GLFUNC_H
#include <QOpenGLShaderProgram>
#include <QMatrix4x4>
namespace olive {
namespace gl {
/**
* @brief Draw texture on screen
*
* @param pipeline
*
* Shader to use for the texture drawing
*
* @param flipped
*
* Draw the texture vertically flipped (defaults to FALSE)
*
* @param matrix
*
* Transformation matrix to use when drawing (defaults to no transform)
*/
void Blit(QOpenGLShaderProgram* pipeline, bool flipped = false, QMatrix4x4 matrix = QMatrix4x4());
}
}
#endif // GLFUNC_H
+29
View File
@@ -0,0 +1,29 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef QOPENGLSHADERPROGRAMPTR_H
#define QOPENGLSHADERPROGRAMPTR_H
#include <QOpenGLShaderProgram>
#include <memory>
using QOpenGLShaderProgramPtr = std::shared_ptr<QOpenGLShaderProgram>;
#endif // QOPENGLSHADERPROGRAMPTR_H
+24
View File
@@ -0,0 +1,24 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(viewer)
add_subdirectory(panel)
add_subdirectory(projectexplorer)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
PARENT_SCOPE
)
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
widget/panel/panel.h
widget/panel/panel.cpp
PARENT_SCOPE
)
+25
View File
@@ -0,0 +1,25 @@
#include "panel.h"
PanelWidget::PanelWidget(QWidget *parent) {
}
void PanelWidget::SetTitle(const QString &t)
{
title_ = t;
UpdateTitle();
}
void PanelWidget::SetSubtitle(const QString &t)
{
subtitle_ = t;
UpdateTitle();
}
void PanelWidget::UpdateTitle()
{
if (subtitle_.isEmpty()) {
setWindowTitle(title_);
} else {
setWindowTitle(tr("%1: %2").arg(title_, subtitle_));
}
}
+70
View File
@@ -0,0 +1,70 @@
#ifndef PANEL_WIDGET_H
#define PANEL_WIDGET_H
#include <QDockWidget>
/**
* @brief The PanelWidget class
*
* A widget that is always dockable within the MainWindow.
*/
class PanelWidget : public QDockWidget {
Q_OBJECT
public:
/**
* @brief PanelWidget Constructor
*
* @param parent
*
* The PanelWidget's parent, enforced to help with memory handling. Most of the time this will be an instance of
* MainWindow.
*/
PanelWidget(QWidget* parent);
protected:
/**
* @brief Set panel's title
*
* Use this function to set the title of the panel.
*
* A PanelWidget has the default format of "Title: Subtitle" (can differ depending on translation). If no Subtitle
* is set, the title will just be formatted "Title".
*
* @param t
*
* String to set the title to
*/
void SetTitle(const QString& t);
/**
* @brief Set panel's subtitle
*
* Use this function to set the subtitle of the panel.
*
* A PanelWidget has the default format of "Title: Subtitle" (can differ depending on translation). If no Subtitle
* is set, the title will just be formatted "Title".
*
* @param t
*
* String to set the subtitle to
*/
void SetSubtitle(const QString& t);
private:
/**
* @brief Internal function that sets the QDockWidget's window title whenever the title/subtitle change.
*
* Should be called any time a change is made to title_ or subtitle_
*/
void UpdateTitle();
/**
* @brief Internal title string
*/
QString title_;
/**
* @brief Internal subtitle string
*/
QString subtitle_;
};
#endif // PANEL_WIDGET_H
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
widget/projectexplorer/projectexplorer.h
widget/projectexplorer/projectexplorer.cpp
PARENT_SCOPE
)
@@ -0,0 +1,17 @@
#include "projectexplorer.h"
ProjectExplorer::ProjectExplorer(QWidget *parent) :
QWidget(parent),
view_type_(TreeView)
{
}
const ProjectExplorer::ViewType &ProjectExplorer::view_type()
{
return view_type_;
}
void ProjectExplorer::set_view_type(const ProjectExplorer::ViewType &type)
{
view_type_ = type;
}
@@ -0,0 +1,25 @@
#ifndef PROJECTEXPLORER_H
#define PROJECTEXPLORER_H
#include <QWidget>
class ProjectExplorer : public QWidget
{
public:
enum ViewType {
TreeView,
ListView,
IconView
};
ProjectExplorer(QWidget* parent);
const ViewType& view_type();
void set_view_type(const ViewType& type);
private:
ViewType view_type_;
};
#endif // PROJECTEXPLORER_H
+24
View File
@@ -0,0 +1,24 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
widget/viewer/viewer.h
widget/viewer/viewer.cpp
widget/viewer/viewerglwidget.h
widget/viewer/viewerglwidget.cpp
PARENT_SCOPE
)
+69
View File
@@ -0,0 +1,69 @@
#include "viewer.h"
#include <QVBoxLayout>
#include <QLabel>
ViewerWidget::ViewerWidget(QWidget *parent) :
QWidget(parent)
{
// Set up main layout
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setSpacing(0);
layout->setMargin(0);
// Create main OpenGL-based view
gl_widget_ = new ViewerGLWidget();
layout->addWidget(gl_widget_);
// Create lower controls
QWidget* lower_control_container = new QWidget();
lower_control_container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
QHBoxLayout* lower_control_layout = new QHBoxLayout(lower_control_container);
lower_control_layout->setSpacing(0);
lower_control_layout->setMargin(0);
layout->addWidget(lower_control_container);
QSizePolicy lower_container_size_policy = QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
// In the lower-left, we create a current timecode label wrapped in a QWidget for fixed sizing
QWidget* lower_left_container = new QWidget();
lower_left_container->setSizePolicy(lower_container_size_policy);
lower_control_layout->addWidget(lower_left_container);
QHBoxLayout* lower_left_layout = new QHBoxLayout(lower_left_container);
lower_left_layout->setSpacing(0);
lower_left_layout->setMargin(0);
cur_tc_lbl_ = new QLabel("00:00:00;00");
lower_left_layout->addWidget(cur_tc_lbl_);
lower_left_layout->addStretch();
// In the lower-middle, we create playback control buttons
QWidget* lower_middle_container = new QWidget();
lower_left_container->setSizePolicy(lower_container_size_policy);
lower_control_layout->addWidget(lower_middle_container);
QHBoxLayout* lower_middle_layout = new QHBoxLayout(lower_middle_container);
lower_middle_layout->setSpacing(0);
lower_middle_layout->setMargin(0);
lower_middle_layout->addStretch();
QPushButton* play_button = new QPushButton("Play");
lower_middle_layout->addWidget(play_button);
lower_middle_layout->addStretch();
// The lower-right, we create another timecode label, this time to show the end timecode
QWidget* lower_right_container = new QWidget();
lower_left_container->setSizePolicy(lower_container_size_policy);
lower_control_layout->addWidget(lower_right_container);
QHBoxLayout* lower_right_layout = new QHBoxLayout(lower_right_container);
lower_right_layout->setSpacing(0);
lower_right_layout->setMargin(0);
lower_right_layout->addStretch();
end_tc_lbl_ = new QLabel("00:00:00;00");
lower_right_layout->addWidget(end_tc_lbl_);
}
+28
View File
@@ -0,0 +1,28 @@
#ifndef VIEWER_WIDGET_H
#define VIEWER_WIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include "viewerglwidget.h"
/**
* @brief The ViewerWidget class
*
* An OpenGL-based viewer widget with playback controls.
*/
class ViewerWidget : public QWidget
{
Q_OBJECT
public:
ViewerWidget(QWidget* parent);
private:
ViewerGLWidget* gl_widget_;
QLabel* cur_tc_lbl_;
QLabel* end_tc_lbl_;
};
#endif // VIEWER_WIDGET_H
+17
View File
@@ -0,0 +1,17 @@
#include "viewerglwidget.h"
#include <QOpenGLContext>
#include <QOpenGLFunctions>
ViewerGLWidget::ViewerGLWidget()
{
}
void ViewerGLWidget::paintGL()
{
QOpenGLFunctions* f = context()->functions();
f->glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
f->glClear(GL_COLOR_BUFFER_BIT);
}
+18
View File
@@ -0,0 +1,18 @@
#ifndef VIEWERGLWIDGET_H
#define VIEWERGLWIDGET_H
#include <QOpenGLWidget>
class ViewerGLWidget : public QOpenGLWidget
{
public:
ViewerGLWidget();
void SetTexture(GLuint tex);
protected:
virtual void paintGL() override;
private:
GLuint texture_;
};
#endif // VIEWERGLWIDGET_H
+23
View File
@@ -0,0 +1,23 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(mainwindow)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
PARENT_SCOPE
)
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
window/mainwindow/mainwindow.h
window/mainwindow/mainwindow.cpp
PARENT_SCOPE
)
+30
View File
@@ -0,0 +1,30 @@
#include "mainwindow.h"
// Panel objects
#include "panel/viewer/viewer.h"
olive::MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
// Create empty central widget - we don't actually want a central widget but some of Qt's docking/undocking fails
// without it
QWidget* centralWidget = new QWidget(this);
centralWidget->setMaximumSize(QSize(0, 0));
setCentralWidget(centralWidget);
// Set tabs to be on top of panels (default behavior is bottom)
setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North);
// Allow panels to be tabbed within each other
setDockNestingEnabled(true);
// TODO Use settings data to create panels and restore state if they exist
ViewerPanel* viewer_panel = new ViewerPanel(this);
addDockWidget(Qt::TopDockWidgetArea, viewer_panel);
ViewerPanel* viewer_panel2 = new ViewerPanel(this);
addDockWidget(Qt::TopDockWidgetArea, viewer_panel2);
ViewerPanel* viewer_panel3 = new ViewerPanel(this);
addDockWidget(Qt::BottomDockWidgetArea, viewer_panel3);
ViewerPanel* viewer_panel4 = new ViewerPanel(this);
addDockWidget(Qt::BottomDockWidgetArea, viewer_panel4);
}
+22
View File
@@ -0,0 +1,22 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace olive {
/**
* @brief The MainWindow class
*
* Olive's main window responsible for docking widgets.
*/
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget* parent = nullptr);
private:
};
}
#endif
-167
View File
@@ -1,167 +0,0 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include <QApplication>
#include <QMessageBox>
#include "decoders/pixelformatconverter.h"
#include "dialogs/crashdialog.h"
#include "global/crashhandler.h"
#include "global/debug.h"
#include "global/config.h"
#include "global/global.h"
#include "panels/timeline.h"
#include "rendering/pixelformats.h"
#include "ui/mediaiconservice.h"
#include "ui/mainwindow.h"
extern "C" {
#include <libavformat/avformat.h>
#include <libavfilter/avfilter.h>
}
int main(int argc, char *argv[]) {
#ifdef __GNUC__
signal(SIGSEGV, handler);
#endif
olive::Global = std::unique_ptr<OliveGlobal>(new OliveGlobal);
bool launch_fullscreen = false;
QString load_proj;
bool use_internal_logger = true;
if (argc > 1) {
for (int i=1;i<argc;i++) {
if (argv[i][0] == '-') {
if (!strcmp(argv[i], "--version") || !strcmp(argv[i], "-v")) {
#ifndef GITHASH
qWarning() << "No Git commit information found";
#endif
printf("%s\n", olive::AppName.toUtf8().constData());
return 0;
} else if (!strcmp(argv[i], "--help") || !strcmp(argv[i], "-h")) {
printf("Usage: %s [options] [filename]\n\n"
"[filename] is the file to open on startup.\n\n"
"Options:\n"
"\t-v, --version\t\tShow version information\n"
"\t-h, --help\t\tShow this help\n"
"\t-f, --fullscreen\tStart in full screen mode\n"
"\t--disable-shaders\tDisable OpenGL shaders (for debugging)\n"
"\t--no-debug\t\tDisable internal debug log and output directly to console\n"
"\t--translation <file>\tSet an external language file to use\n"
"\n"
"Environment Variables:\n"
"\tOLIVE_EFFECTS_PATH\tSpecify a path to search for GLSL shader effects\n"
"\tFREI0R_PATH\t\tSpecify a path to search for Frei0r effects\n"
"\tOLIVE_LANG_PATH\t\tSpecify a path to search for translation files\n"
"\n", argv[0]);
return 0;
} else if (!strcmp(argv[i], "--fullscreen") || !strcmp(argv[i], "-f")) {
launch_fullscreen = true;
} else if (!strcmp(argv[i], "--disable-shaders")) {
olive::runtime_config.shaders_are_enabled = false;
} else if (!strcmp(argv[i], "--no-debug")) {
use_internal_logger = false;
} else if (!strcmp(argv[i], "--translation")) {
if (i + 1 < argc && argv[i + 1][0] != '-') {
// load translation file
olive::runtime_config.external_translation_file = argv[i + 1];
i++;
} else {
printf("[ERROR] No translation file specified\n");
return 1;
}
} else {
printf("[ERROR] Unknown argument '%s'\n", argv[1]);
return 1;
}
} else if (load_proj.isEmpty()) {
load_proj = argv[i];
}
}
}
if (use_internal_logger) {
qInstallMessageHandler(debug_message_handler);
}
// Initialize ffmpeg subsystem
// (these have been deprecated in FFmpeg 4, but are still necessary for FFmpeg 3)
#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(58, 9, 100)
av_register_all();
#endif
#if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(7, 14, 100)
avfilter_register_all();
#endif
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QSurfaceFormat format;
format.setVersion(3, 2);
format.setDepthBufferSize(24);
format.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(format);
QApplication a(argc, argv);
a.setWindowIcon(QIcon(":/icons/olive64.png"));
// start media icon service (uses QPixmaps which require a QGuiApplication to have been created)
olive::media_icon_service = std::unique_ptr<MediaIconService>(new MediaIconService());
// set app name data
QCoreApplication::setOrganizationName("olivevideoeditor.org");
QCoreApplication::setOrganizationDomain("olivevideoeditor.org");
QCoreApplication::setApplicationName("Olive");
#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
QGuiApplication::setDesktopFileName("org.olivevideoeditor.Olive");
#endif
olive::crash_dialog = new CrashDialog();
MainWindow w(nullptr);
// multiply track height constants by the current DPI scale
olive::timeline::MultiplyTrackSizesByDPI();
// set up rendering bit depths
olive::InitializePixelFormats();
// initialize pixel format converter
olive::pix_fmt_conv = new PixelFormatConverter();
// connect main window's first paint to global's init finished function
QObject::connect(&w, SIGNAL(finished_first_paint()), olive::Global.get(), SLOT(finished_initialize()), Qt::QueuedConnection);
if (!load_proj.isEmpty()) {
olive::Global->load_project_on_launch(load_proj);
}
if (launch_fullscreen) {
w.showFullScreen();
} else {
w.showMaximized();
}
return a.exec();
}
+23 -23
View File
@@ -2023,118 +2023,118 @@ Audio Layout: %6</source>
<translation>مقطع جديد</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation>قالب:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation>فلم 4K</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation>4K تلفاز (أقصى-عالي الدقة/2160p)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>مخصوص</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>فيديو</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>العرض:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>الطول:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>معدل اطارات:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translatorcomment>للمراجعة</translatorcomment>
<translation>معدل نسبة البيكسل:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>بكسيل مربع (1.0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation>المشابكة:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>لا شيء (متفاقم)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>الصوت</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>معدل الإعتيان: </translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>اسم:</translation>
</message>
+23 -23
View File
@@ -1828,117 +1828,117 @@ Audio Layout: %6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Širina:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Visina:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Okvirna stopa:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Nema (progresivno)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
+23 -23
View File
@@ -2040,121 +2040,121 @@ Audio Layout: %6</translation>
<translation>Neue Sequenz</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translatorcomment>Could be also preset</translatorcomment>
<translation>Vorgabe:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation>Film 4K</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation>TV 4K (Ultra HD/2160p)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation>480p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation>360p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation>240p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation>144p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation>NTSC (480i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation>PAL (576i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>Benutzerdefiniert</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translatorcomment>Same as in english</translatorcomment>
<translation>Video</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Breite:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Bildrate:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation>Pixel-Seitenverhältnis:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>Quadratische Pixel (1.0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translatorcomment>Same as in english</translatorcomment>
<translation>Interlacing:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Keine (Progressive)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translatorcomment>Same as in english</translatorcomment>
<translation>Audio</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>Abtastrate:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>Name:</translation>
</message>
+23 -23
View File
@@ -1679,117 +1679,117 @@ Audio Layout: %6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
+23 -23
View File
@@ -2008,117 +2008,117 @@ Canaux audio : %6</translation>
<translation>Nouvelle séquence</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation>Préréglage :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation>Film 4K</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation>TV 4K (Ultra HD/2160p)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation>480p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation>360p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation>240p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation>144p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation>NTSC (480i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation>PAL (576i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>Personnalisé</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>Vidéo</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Largeur :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Hauteur :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Images par seconde :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation>Ratio des pixels :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>Pixels carré (1,0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation>Entrelacement :</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Aucun (Progressif)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>Taux d&apos;échantillonnage : </translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>Nom :</translation>
</message>
+23 -23
View File
@@ -1869,117 +1869,117 @@ Tata Audio: %6</translation>
<translation>Rangkaian Baru</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>Kustom</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Lebar:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Tinggi:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Laju frame (fps):</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation>Rasio aspek piksel:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>Persegi (1.0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation>Mode interlace:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Tidak ada (Progresif)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>Laju sampel: </translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>Nama:</translation>
</message>
+23 -23
View File
@@ -1862,117 +1862,117 @@ Disposizione audio: %6</translation>
<translation>Nuova sequenza</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation>Preimpostazioni:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation>Film 4K</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation>TV 4K (Ultra HD/2160p)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation>480p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation>360p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation>240p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation>144p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation>NTSC (480i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation>PAL (576i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>Personalizzato</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Larghezza:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Altezza:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Velocità fotogrammi:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation>Proporzioni dei pixel:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>Pixel quadrati (1.0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation>Interlacciamento:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Nessuno (progressivo)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>Frequenza di campionamento: </translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>Nome:</translation>
</message>
+23 -23
View File
@@ -1759,117 +1759,117 @@ Audio Layout: %6</source>
<translation>Новая последовательность</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation>Предстановка:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation>Кино 4К</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation>TV 4K (Ultra HD/2160p)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation>1080p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation>720p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation>480p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation>360p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation>240p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation>144p</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation>NTSC (480i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation>PAL (576i)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation>Другое</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>Видео</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Ширина:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Высота:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Частота кадров:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation>Соотношение сторон пикселя:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation>Квадратные пиксели (1.0)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation>Чересстрочность:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Нет (прогрессивно)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>Звук</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation>Частота дискретизации: </translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation>Название:</translation>
</message>
+23 -23
View File
@@ -1815,117 +1815,117 @@ Audio Layout: %6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<location filename="../dialogs/newsequencedialog.cpp" line="211"/>
<source>Preset:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="226"/>
<location filename="../dialogs/newsequencedialog.cpp" line="215"/>
<source>Film 4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="227"/>
<location filename="../dialogs/newsequencedialog.cpp" line="216"/>
<source>TV 4K (Ultra HD/2160p)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="228"/>
<location filename="../dialogs/newsequencedialog.cpp" line="217"/>
<source>1080p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="229"/>
<location filename="../dialogs/newsequencedialog.cpp" line="218"/>
<source>720p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="230"/>
<location filename="../dialogs/newsequencedialog.cpp" line="219"/>
<source>480p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="231"/>
<location filename="../dialogs/newsequencedialog.cpp" line="220"/>
<source>360p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="232"/>
<location filename="../dialogs/newsequencedialog.cpp" line="221"/>
<source>240p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<location filename="../dialogs/newsequencedialog.cpp" line="222"/>
<source>144p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="234"/>
<location filename="../dialogs/newsequencedialog.cpp" line="223"/>
<source>NTSC (480i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="235"/>
<location filename="../dialogs/newsequencedialog.cpp" line="224"/>
<source>PAL (576i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="236"/>
<location filename="../dialogs/newsequencedialog.cpp" line="225"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="244"/>
<location filename="../dialogs/newsequencedialog.cpp" line="233"/>
<source>Video</source>
<translation>Видео</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="248"/>
<location filename="../dialogs/newsequencedialog.cpp" line="237"/>
<source>Width:</source>
<translation>Ширина:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="254"/>
<location filename="../dialogs/newsequencedialog.cpp" line="243"/>
<source>Height:</source>
<translation>Висина:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="260"/>
<location filename="../dialogs/newsequencedialog.cpp" line="249"/>
<source>Frame Rate:</source>
<translation>Оквирна стопа:</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="280"/>
<location filename="../dialogs/newsequencedialog.cpp" line="269"/>
<source>Pixel Aspect Ratio:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<location filename="../dialogs/newsequencedialog.cpp" line="271"/>
<source>Square Pixels (1.0)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="285"/>
<location filename="../dialogs/newsequencedialog.cpp" line="274"/>
<source>Interlacing:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="287"/>
<location filename="../dialogs/newsequencedialog.cpp" line="276"/>
<source>None (Progressive)</source>
<translation>Нема (прогресивно)</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="293"/>
<location filename="../dialogs/newsequencedialog.cpp" line="282"/>
<source>Audio</source>
<translation>Аудио</translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="297"/>
<location filename="../dialogs/newsequencedialog.cpp" line="286"/>
<source>Sample Rate: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/newsequencedialog.cpp" line="315"/>
<location filename="../dialogs/newsequencedialog.cpp" line="304"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>