Projects
Multimedia
selene
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 9
View file
selene.changes
Changed
@@ -1,4 +1,31 @@ ------------------------------------------------------------------- +Sat May 7 07:12:54 UTC 2016 - sor.alexei@meowr.ru + +- Update to version 16.3.3 (changes since 16.2.7): + * Add options for copying audio and video track without + re-encoding. + * Use the first embedded subtitle track if an external subtitle + file is not found. + * Add support for encoding files with multiple audio/subtitle + tracks. + * Add support for encoding HEVC video in MKV. + * Add libkate-tools as a dependency for encoding subtitles in + OGG files. + * Remove dependency on ffmpeg2theora tool which is unmaintained. + Theora video will be encoded with ffmpeg/avconv. + * Add option to set default language for files with multiple + tracks. + * Add option to keep or delete temporary files after successful + encode. + * Closing the progress window after a batch is finished will + take user to main window instead of quitting the application. + * Fix encoding mode being not set correctly for Vorbis. + * Fix decimal numbers being not loaded correctly from preset file + on non-English systems. + * Fix 'Too many open files' error on converting many files. + * Code cleanup and minor changes. + +------------------------------------------------------------------- Fri Mar 4 07:46:25 UTC 2016 - sor.alexei@meowr.ru - Update to 16.2.7 (changes since 16.2.4):
View file
selene.spec
Changed
@@ -16,9 +16,9 @@ # -%define _version 16.2.7~261~ubuntu16.04.1 +%define _version 16.3.3~280~ubuntu16.04.1 Name: selene -Version: 16.2.7 +Version: 16.3.3 Release: 0 Summary: GUI audio-video converter for GNU/Linux License: GPL-3.0+ @@ -29,6 +29,7 @@ Patch0: %{name}-fix-makefile.patch BuildRequires: fdupes BuildRequires: gettext +BuildRequires: pkg-config BuildRequires: update-desktop-files BuildRequires: vala BuildRequires: pkgconfig(gdk-x11-3.0) @@ -47,7 +48,6 @@ Requires: vorbis-tools Requires: x264 Recommends: %{name}-lang -Recommends: ffmpeg2theora Recommends: gpac Recommends: opus-tools Recommends: sox
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/debian/bzr-builder.manifest -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/debian/bzr-builder.manifest
Changed
@@ -1,2 +1,2 @@ -# bzr-builder format 0.3 deb-version {debupstream}~261 -lp:selene revid:tony.george.kol@gmail.com-20160227182550-yg3cb2supft07jkb +# bzr-builder format 0.3 deb-version {debupstream}~280 +lp:selene revid:tony.george.kol@gmail.com-20160324033841-1imldyf28r0eailg
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/debian/changelog -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/debian/changelog
Changed
@@ -1,20 +1,11 @@ -selene (16.2.7~261~ubuntu16.04.1) xenial; urgency=low +selene (16.3.3~280~ubuntu16.04.1) xenial; urgency=low * Auto build. - -- Tony George <teejee2008@gmail.com> Sat, 27 Feb 2016 18:38:28 +0000 + -- Tony George <teejee2008@gmail.com> Thu, 24 Mar 2016 03:49:10 +0000 -selene (16.2.7) trusty; urgency=medium +selene (16.3.3) trusty; urgency=medium - * Added new option for trimming audio and video files + * Fixed: 'Too many open files' error on converting many files - * Added support for using MPV as the media player backend - - * Added option to auto-crop and reset cropping values for multiple - files on the batch edit window - - * Added zoom and fullscreen options to media player - - * Various minor changes - - -- Tony George <tony.george.kol@gmail.com> Sat, 27 Feb 2016 14:00:00 +0530 + -- Tony George <tony.george.kol@gmail.com> Wed, 23 Mar 2016 10:00:00 +0530
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/debian/control -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/debian/control
Changed
@@ -11,7 +11,7 @@ Package: selene Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, realpath, rsync, mediainfo, ffmpeg | libav-tools, mplayer | mplayer2, vorbis-tools, x264, lame, mkvtoolnix -Recommends: opus-tools, vpx-tools, ffmpeg2theora, gpac, sox, x265, libfdk-aac0 +Recommends: opus-tools, vpx-tools, libkate-tools, gpac, sox, x265, libfdk-aac0 Description: Audio-video converter for Linux. Utility for converting audio and video files to OGG,OGV, MKV,MP4,WEBM,OPUS,AAC,FLAC,MP3 and WAV formats. Provides a simple
View file
selene_16.3.3~280~ubuntu16.04.1.tar.xz/po/selene-cs.po
Added
@@ -0,0 +1,1772 @@ +# Czech translation for selene +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the selene package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: selene\n" +"Report-Msgid-Bugs-To: teejee2008@gmail.com\n" +"POT-Creation-Date: 2016-03-13 12:05+0530\n" +"PO-Revision-Date: 2016-03-15 06:29+0100\n" +"Last-Translator: Radek Otáhal <radek.otahal@email.cz>\n" +"Language-Team: Czech <cs@li.org>\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-08-25 19:08+0000\n" +"X-Generator: Poedit 1.5.4\n" + +#: MediaPlayerWindow.vala:1093 +msgid "100%" +msgstr "100%" + +#: MediaPlayerWindow.vala:1095 +msgid "200%" +msgstr "200%" + +#: MediaPlayerWindow.vala:1087 +msgid "25%" +msgstr "25%" + +#: MediaPlayerWindow.vala:1089 +msgid "50%" +msgstr "50%" + +#: MediaPlayerWindow.vala:1091 +msgid "75%" +msgstr "75%" + +#: EncoderConfigWindow.vala:528 EncoderConfigWindow.vala:529 +msgid "" +"<b>AAC-ELD</b>\n" +"Enhanced Low Delay Profile for real-time communication\n" +"\n" +msgstr "" +"<b>AAC-ELD</b>\n" +"Enhanced Low Delay profil pro real-time komunikaci\n" +"\n" + +#: EncoderConfigWindow.vala:524 +msgid "" +"<b>AAC-LC (Recommended)</b>\n" +"MPEG-2 Low-complexity (LC) combined with MPEG-4 Perceptual Noise " +"Substitution (PNS)\n" +"\n" +msgstr "" +"<b>AAC-LC (Doporučeno)</b>\n" +"MPEG-2 Low-complexity (LC) kombinovaný s MPEG-4 Perceptual Noise " +"Substitution (PNS)\n" +"\n" + +#: EncoderConfigWindow.vala:527 +msgid "" +"<b>AAC-LD</b>\n" +"Low Delay Profile for real-time communication\n" +"\n" +msgstr "" +"<b>AAC-LD</b>\n" +"Low Delay profil pro real-time komunikaci\n" +"\n" + +#: EncoderConfigWindow.vala:1073 +msgid "" +"<b>Additional Options</b>\n" +"These options will be passed to the encoder\n" +"on the command line. Please do not specify\n" +"any options that are already provided by the GUI." +msgstr "" +"<b>Dodatečné volby</b>\n" +"Tyto volby budou předány do enkodéru\n" +"příkazovým řádkem. Nespecifikujte prosím\n" +"žádné volby, které je možné nastavit pomocí GUI." + +#: EncoderConfigWindow.vala:651 +msgid "<b>Adjustments:</b>" +msgstr "<b>Přizpůsobení:</b>" + +#: AppConfigWindow.vala:152 +msgid "<b>Backup Directory</b>" +msgstr "<b>Adresář pro zálohu</b>" + +#: EncoderConfigWindow.vala:564 +msgid "<b>Channels & Sampling:</b>" +msgstr "<b>Kanály & Vzorkování:</b>" + +#: EncoderConfigWindow.vala:1012 +msgid "" +"<b>Compression Vs Device Compatibility</b>\n" +"'High' profile gives the best compression.\n" +"Change this to 'Baseline' or 'Main' only if you are encoding\n" +"for a particular device (mobiles,PMPs,etc) which does not\n" +"support the 'High' profile" +msgstr "" +"<b>Komprese vs kompatibilita zařízení</b>\n" +"'High' profil odpovídá nejlepší kompresi.\n" +"Změňte na 'Baseline' nebo 'Main' pouze pokud kódujete\n" +"pro zařízení (mobil, PMP,atd) které nepodporuje\n" +"profil 'High'" + +#: EncoderConfigWindow.vala:976 +msgid "" +"<b>Compression Vs Encoding Speed</b>\n" +"Slower presets give better compression and smaller files\n" +"but take more time to encode." +msgstr "" +"<b>Komprese vs rychlost kódování</b>\n" +"Pomalejší = lepší komprese a menší soubory,\n" +"ale kódování bude trvat déle." + +#: EncoderConfigWindow.vala:957 +msgid "" +"<b>Compression Vs Quality</b>\n" +"Smaller values give better quality video and larger files" +msgstr "" +"<b>Komprese vs kvalita</b>\n" +"Menší hodnota = lepší kvalita videa a větší soubory" + +#: AppConfigWindow.vala:347 +msgid "<b>Default Language</b>" +msgstr "<b>Výchozí jazyk</b>" + +#: EncoderConfigWindow.vala:1320 +msgid "" +"<b>Embed</b> - Subtitle files will be combined with the output file.\n" +"These subtitles can be switched off since they are added as a separate track" +msgstr "" +"<b>Embed</b> - Titulky budou zkombinovány s výstupním souborem.\n" +"Tyto titulky mohou být vypnuty jelikož jsou přidány jako samostatná stopa" + +#: AppConfigWindow.vala:285 +msgid "" +"<b>Encoder</b>\n" +"Use the 'ffmpeg' encoding tool from the FFmpeg project (Recommended)\n" +"\n" +msgstr "" +"<b>ffmpeg</b>\n" +"Použít 'ffmpeg' encoding tool z FFmpeg projektu (Doporučeno)\n" +"\n" + +#: EncoderConfigWindow.vala:764 +msgid "<b>Fade:</b>" +msgstr "<b>Přechod:</b>" + +#: EncoderConfigWindow.vala:291 +msgid "<b>File Format:</b>" +msgstr "<b>Formát souboru:</b>" + +#: AppConfigWindow.vala:396 +msgid "<b>File Handling</b>" +msgstr "<b>Manipulace se soubory</b>" + +#: EncoderConfigWindow.vala:526 +msgid "" +"<b>HE-AAC v2</b>\n" +"AAC-LC + SBR + PS (Parametric Stereo)\n" +"\n" +msgstr "" +"<b>HE-AAC v2</b>\n" +"AAC-LC + SBR + PS (Parametric Stereo)\n" +"\n" + +#: EncoderConfigWindow.vala:525 +msgid "" +"<b>HE-AAC</b>\n" +"AAC-LC + SBR (Spectral Band Replication)\n" +"\n" +msgstr "" +"<b>HE-AAC</b>\n" +"AAC-LC + SBR (Spectral Band Replication)\n" +"\n" + +#: AppConfigWindow.vala:198 +msgid "<b>Main Window</b>" +msgstr "<b>Hlavní okno</b>" + +#: EncoderConfigWindow.vala:530 +msgid "" +"<b>Note:</b>\n" +"HE-AAC and HE-AACv2 are used for low-bitrate encoding while HE-LD and HE-ELD " +"are used for real-time communication. HE-AAC is suitable for bit rates " +"between 48 to 64 kbps (stereo) while HE-AACv2 is suitable for bit rates as " +"low as 32 kbps." +msgstr "" +"<b>Poznámka:</b>\n" +"HE-AAC a HE-AACv2 jsou používány pro low-bitrate kódování zatímco HE-LD a HE-" +"ELD jsou používány pro real-time komunikaci. HE-AAC je vhodné pro bit rates " +"mezi 48 až 64 kbps (stereo) zatímco HE-AACv2 je vhodné pro bit rates nižší " +"než 32 kbps."
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/selene.geany -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/selene.geany
Changed
@@ -17,26 +17,30 @@ long_line_column=80 [files] -current_page=14 -FILE_NAME_0=2012;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FUtility.vala;0;4 -FILE_NAME_1=959;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMain.vala;0;4 -FILE_NAME_2=4619;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FEncoderConfigWindow.vala;0;4 -FILE_NAME_3=1687;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FFileInfoWindow.vala;0;4 +current_page=2 +FILE_NAME_0=23970;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FUtility.vala;0;4 +FILE_NAME_1=1595;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMain.vala;0;4 +FILE_NAME_2=22323;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FEncoderConfigWindow.vala;0;4 +FILE_NAME_3=2267;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FFileInfoWindow.vala;0;4 FILE_NAME_4=1516;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FAboutWindow.vala;0;4 -FILE_NAME_5=9178;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FAppConfigWindow.vala;0;4 -FILE_NAME_6=2129;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FColumnSelectionDialog.vala;0;4 -FILE_NAME_7=1682;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FEncoderStatusWindow.vala;0;4 -FILE_NAME_8=2082;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FCustomMessageDialog.vala;0;4 -FILE_NAME_9=2677;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FFFmpegBuilder.vala;0;4 +FILE_NAME_5=11248;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FAppConfigWindow.vala;0;4 +FILE_NAME_6=2124;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FColumnSelectionDialog.vala;0;4 +FILE_NAME_7=2436;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FEncoderStatusWindow.vala;0;4 +FILE_NAME_8=2607;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FCustomMessageDialog.vala;0;4 +FILE_NAME_9=3025;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FFFmpegBuilder.vala;0;4 FILE_NAME_10=4148;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FSimpleProgressWindow.vala;0;4 -FILE_NAME_11=629;Make;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2Fmakefile;0;4 -FILE_NAME_12=61166;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMainWindow.vala;0;4 -FILE_NAME_13=981;Conf;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fdebian%2Fcontrol;0;4 -FILE_NAME_14=420;None;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fdebian%2Fchangelog;0;4 -FILE_NAME_15=2244;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaPlayer.vala;0;4 -FILE_NAME_16=10003;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaFile.vala;0;4 -FILE_NAME_17=4505;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaPlayerWindow.vala;0;4 -FILE_NAME_18=1964;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FBatchEditWindow.vala;0;4 +FILE_NAME_11=78305;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMainWindow.vala;0;4 +FILE_NAME_12=981;Conf;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fdebian%2Fcontrol;0;4 +FILE_NAME_13=153;None;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fdebian%2Fchangelog;0;4 +FILE_NAME_14=3218;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaPlayer.vala;0;4 +FILE_NAME_15=16150;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaFile.vala;0;4 +FILE_NAME_16=22201;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Faptik-archive-manager%2Fsrc%2FViewArchiveWindow.vala;0;4 +FILE_NAME_17=9477;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Faptik%2Fsrc%2FPpaWindow.vala;0;4 +FILE_NAME_18=2475;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FBatchEditWindow.vala;0;4 +FILE_NAME_19=229;Make;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2Fmakefile;0;4 +FILE_NAME_20=1932;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fselene%2Fsrc%2FMediaPlayerWindow.vala;0;4 +FILE_NAME_21=15163;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Fconky-manager%2Fsrc%2FMainWindow.vala;0;4 +FILE_NAME_22=7102;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Faptik-battery-monitor%2Fsrc%2FBatteryStatsWindow.vala;0;4 [VTE] last_dir=/home/teejee @@ -67,3 +71,8 @@ ensure_convert_new_lines=false strip_trailing_spaces=false replace_tabs=false + +[editor] +line_wrapping=true +line_break_column=80 +auto_continue_multiline=true
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/selene.pot -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/selene.pot
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: selene 2.2\n" "Report-Msgid-Bugs-To: teejee2008@gmail.com\n" -"POT-Creation-Date: 2016-02-27 23:34+0530\n" +"POT-Creation-Date: 2016-03-24 09:07+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,42 +17,83 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: EncoderConfigWindow.vala:2501 +#: EncoderConfigWindow.vala:2094 msgid "" "\n" +"<b>Note:</b>\n" +"\n" +"1. Audio track will be copied directly to the output file without changes.\n" +"\n" +"2. Format of the audio track must be compatible with the selected file " +"format. For example, if the input file contains AAC audio and the selected " +"file format is WEBM, then encoding will fail - since WEBM does not support " +"AAC audio.\n" +"\n" +"3. Input file can be trimmed only in basic mode (single segment). Selecting " +"multiple segments using advanced mode will not work." +msgstr "" + +#: EncoderConfigWindow.vala:3012 +msgid "" +"\n" +"<b>Note:</b>\n" "\n" -"Subtitle files should be present in the same folder\n" -"and should start with same name." +"1. Supported subtitle file formats:" msgstr "" -#: MediaPlayerWindow.vala:1076 +#: EncoderConfigWindow.vala:2587 +msgid "" +"\n" +"<b>Note:</b>\n" +"\n" +"1. Video track will be copied to the output file without re-encoding.\n" +"\n" +"2. Format of the video track must be compatible with the selected container. " +"For example, if the input file contains H264 video and the selected file " +"format is WEBM, then encoding will fail (since WEBM does not support H264).\n" +"\n" +"3. If you are trimming the input file then select the basic mode (single " +"segment). Selecting multiple segments in advanced mode will not work." +msgstr "" + +#: BatchEditWindow.vala:85 BatchEditWindow.vala:88 +msgid "(Batch)" +msgstr "" + +#: MediaPlayerWindow.vala:1093 msgid "100%" msgstr "" -#: MediaPlayerWindow.vala:1078 +#: EncoderConfigWindow.vala:3032 +msgid "" +"2. External subtitle files must be present in the same location and start " +"with the same file name." +msgstr "" + +#: MediaPlayerWindow.vala:1095 msgid "200%" msgstr "" -#: MediaPlayerWindow.vala:1070 +#: MediaPlayerWindow.vala:1087 msgid "25%" msgstr "" -#: MediaPlayerWindow.vala:1072 +#: MediaPlayerWindow.vala:1089 msgid "50%" msgstr "" -#: MediaPlayerWindow.vala:1074 +#: MediaPlayerWindow.vala:1091 msgid "75%" msgstr "" -#: EncoderConfigWindow.vala:515 EncoderConfigWindow.vala:516 +#: EncoderConfigWindow.vala:669 EncoderConfigWindow.vala:670 msgid "" "<b>AAC-ELD</b>\n" "Enhanced Low Delay Profile for real-time communication\n" "\n" msgstr "" -#: EncoderConfigWindow.vala:511 +#: EncoderConfigWindow.vala:665 msgid "" "<b>AAC-LC (Recommended)</b>\n" "MPEG-2 Low-complexity (LC) combined with MPEG-4 Perceptual Noise " @@ -60,14 +101,14 @@ "\n" msgstr "" -#: EncoderConfigWindow.vala:514 +#: EncoderConfigWindow.vala:668 msgid "" "<b>AAC-LD</b>\n" "Low Delay Profile for real-time communication\n" "\n" msgstr "" -#: EncoderConfigWindow.vala:1023 +#: EncoderConfigWindow.vala:1425 msgid "" "<b>Additional Options</b>\n" "These options will be passed to the encoder\n" @@ -75,19 +116,23 @@ "any options that are already provided by the GUI." msgstr "" -#: EncoderConfigWindow.vala:638 +#: EncoderConfigWindow.vala:802 msgid "<b>Adjustments:</b>" msgstr "" -#: AppConfigWindow.vala:150 +#: EncoderConfigWindow.vala:554 +msgid "<b>Audio Encoder</b>" +msgstr "" + +#: AppConfigWindow.vala:158 msgid "<b>Backup Directory</b>" msgstr "" -#: EncoderConfigWindow.vala:551 -msgid "<b>Channels & Sampling:</b>" +#: EncoderConfigWindow.vala:727 +msgid "<b>Channels</b>" msgstr "" -#: EncoderConfigWindow.vala:970 +#: EncoderConfigWindow.vala:1357 msgid "" "<b>Compression Vs Device Compatibility</b>\n" "'High' profile gives the best compression.\n" @@ -96,59 +141,67 @@ "support the 'High' profile" msgstr "" -#: EncoderConfigWindow.vala:938 +#: EncoderConfigWindow.vala:1315 msgid "" "<b>Compression Vs Encoding Speed</b>\n" "Slower presets give better compression and smaller files\n" "but take more time to encode." msgstr "" -#: EncoderConfigWindow.vala:923 +#: EncoderConfigWindow.vala:1293 msgid "" "<b>Compression Vs Quality</b>\n" "Smaller values give better quality video and larger files" msgstr "" -#: EncoderConfigWindow.vala:1262 +#: AppConfigWindow.vala:366 +msgid "<b>Default Language</b>" +msgstr "" + +#: EncoderConfigWindow.vala:1702 msgid "" "<b>Embed</b> - Subtitle files will be combined with the output file.\n" "These subtitles can be switched off since they are added as a separate track" msgstr "" -#: AppConfigWindow.vala:274 +#: AppConfigWindow.vala:278 msgid "" "<b>Encoder</b>\n" "Use the 'ffmpeg' encoding tool from the FFmpeg project (Recommended)\n" "\n" msgstr "" -#: EncoderConfigWindow.vala:751 +#: EncoderConfigWindow.vala:964 msgid "<b>Fade:</b>" msgstr "" -#: EncoderConfigWindow.vala:287 -msgid "<b>File Format:</b>" +#: EncoderConfigWindow.vala:415 +msgid "<b>File Format</b>" msgstr "" -#: EncoderConfigWindow.vala:513 +#: AppConfigWindow.vala:420
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/AppConfigWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/AppConfigWindow.vala
Changed
@@ -33,20 +33,19 @@ using TeeJee.Misc; public class AppConfigWindow : Gtk.Dialog { - private Box vboxMain; + private Box vbox_main; private Gtk.Notebook notebook; - private Label lblView; - private Label lblOutput; - private CheckButton chkOutput; - private Entry txtBackup; - private CheckButton chkBackup; - private Label lblBackup; - private Entry txtOutput; - private Button btnSave; - private Button btnCancel; - private ComboBox cmbFileView; - private ComboBox cmbSelectEncoder; - private ComboBox cmbSelectPlayer; + private CheckButton chk_output_dir; + private Entry txt_backup_dir; + private CheckButton chk_backup_dir; + private Entry txt_output_dir; + private Button btn_save; + private Button btn_cancel; + private ComboBox cmb_file_view; + private ComboBox cmb_select_encoder; + private ComboBox cmb_select_player; + private ComboBox cmb_def_lang; + private CheckButton chk_delete_temp; public AppConfigWindow(Gtk.Window parent) { title = "Settings"; @@ -63,8 +62,8 @@ icon = get_app_icon(16); // get content area - vboxMain = get_content_area(); - vboxMain.set_size_request(400,500); + vbox_main = get_content_area(); + vbox_main.set_size_request(400,500); //notebook notebook = new Notebook(); @@ -72,59 +71,67 @@ notebook.show_border = true; notebook.scrollable = true; notebook.margin = 6; - vboxMain.pack_start (notebook, true, true, 0); + vbox_main.pack_start (notebook, true, true, 0); init_ui_tab_general(); init_ui_tab_tools(); - // btnSave - btnSave = (Button) add_button ("gtk-save", Gtk.ResponseType.ACCEPT); - btnSave.clicked.connect (btnSave_clicked); + // btn_save + btn_save = (Button) add_button ("gtk-save", Gtk.ResponseType.ACCEPT); + btn_save.clicked.connect (btn_save_clicked); - // btnCancel - btnCancel = (Button) add_button ("gtk-cancel", Gtk.ResponseType.CANCEL); - btnCancel.clicked.connect (btnCancel_clicked); + // btn_cancel + btn_cancel = (Button) add_button ("gtk-cancel", Gtk.ResponseType.CANCEL); + btn_cancel.clicked.connect (btn_cancel_clicked); - chkOutput_clicked(); - chkBackup_clicked(); + chk_output_dir_clicked(); + chk_backup_dir_clicked(); show_all(); } private void init_ui_tab_general(){ - //lblTabGeneral - var lblTabGeneral = new Label (_("General")); - - //vboxTabGeneral - var vboxTabGeneral = new Box(Orientation.VERTICAL,6); - vboxTabGeneral.margin = 12; - notebook.append_page (vboxTabGeneral, lblTabGeneral); - - // lblOutput - lblOutput = new Label (_("<b>Output Directory</b>")); - lblOutput.set_use_markup(true); - lblOutput.halign = Align.START; - vboxTabGeneral.pack_start (lblOutput, false, true, 0); - - // chkOutput - chkOutput = new CheckButton.with_label (_("Save files in following location")); - chkOutput.active = (App.OutputDirectory.length > 0); - chkOutput.clicked.connect (chkOutput_clicked); - vboxTabGeneral.pack_start (chkOutput, false, true, 0); - - // txtOutput - txtOutput = new Gtk.Entry(); - txtOutput.hexpand = true; - txtOutput.secondary_icon_stock = "gtk-open"; - txtOutput.placeholder_text = _("Enter path or browse for directory"); - vboxTabGeneral.add (txtOutput); + + // add tab ------------------------------ + + var label = new Label (_("General")); + + var vbox = new Box(Orientation.VERTICAL,6); + vbox.margin = 12; + notebook.append_page (vbox, label); + // output dir -------------------------------------------- + + label = new Label (_("<b>Output Directory</b>")); + label.set_use_markup(true); + label.halign = Align.START; + //label.margin_top = 12; + label.margin_bottom = 6; + vbox.pack_start (label, false, true, 0); + + // chk_output_dir + var chk = new CheckButton.with_label (_("Save files in following location")); + chk.margin_left = 6; + chk.active = (App.OutputDirectory.length > 0); + chk.clicked.connect (chk_output_dir_clicked); + vbox.pack_start (chk, false, true, 0); + chk_output_dir = chk; + + // txt_output_dir + var txt = new Gtk.Entry(); + txt.hexpand = true; + txt.margin_left = 6; + txt.secondary_icon_stock = "gtk-open"; + txt.placeholder_text = _("Enter path or browse for directory"); + vbox.add (txt); + txt_output_dir = txt; + if ((App.OutputDirectory != null) && dir_exists (App.OutputDirectory)){ - txtOutput.text = App.OutputDirectory; + txt_output_dir.text = App.OutputDirectory; } - txtOutput.icon_release.connect((p0, p1) => { + txt_output_dir.icon_release.connect((p0, p1) => { //chooser var chooser = new Gtk.FileChooserDialog( _("Select Path"), @@ -140,37 +147,43 @@ chooser.set_filename(App.OutputDirectory); if (chooser.run() == Gtk.ResponseType.ACCEPT) { - txtOutput.text = chooser.get_filename(); + txt_output_dir.text = chooser.get_filename(); } chooser.destroy(); }); - // lblBackup - lblBackup = new Label (_("<b>Backup Directory</b>")); - lblBackup.set_use_markup(true); - lblBackup.halign = Align.START; - lblBackup.margin_top = 12; - vboxTabGeneral.pack_start (lblBackup, false, true, 0); - - // chkBackup - chkBackup = new CheckButton.with_label (_("Move source files after encoding is complete")); - chkBackup.active = (App.BackupDirectory.length > 0); - chkBackup.clicked.connect (chkBackup_clicked); - vboxTabGeneral.pack_start (chkBackup, false, true, 0); - - // txtBackup - txtBackup = new Gtk.Entry(); - txtBackup.hexpand = true; - txtBackup.secondary_icon_stock = "gtk-open"; - txtBackup.placeholder_text = _("Enter path or browse for directory"); - vboxTabGeneral.add (txtBackup); - + // backup dir ----------------------------------------------- + + label = new Label (_("<b>Backup Directory</b>")); + label.set_use_markup(true); + label.halign = Align.START; + label.margin_top = 12; + label.margin_bottom = 6; + vbox.pack_start (label, false, true, 0); + + // chk_backup_dir + chk = new CheckButton.with_label (_("Move source files after encoding is complete")); + chk.margin_left = 6; + chk.active = (App.BackupDirectory.length > 0); + chk.clicked.connect (chk_backup_dir_clicked); + vbox.pack_start (chk, false, true, 0); + chk_backup_dir = chk; + + // txt_backup_dir + txt = new Gtk.Entry(); + txt.hexpand = true;
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/BatchEditWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/BatchEditWindow.vala
Changed
@@ -34,23 +34,23 @@ using TeeJee.Misc; public class BatchEditWindow : Gtk.Dialog { - private Gtk.Box vboxMain; - private Gtk.TreeView tvFiles; - private Gtk.ScrolledWindow swFiles; + private Gtk.Box vbox_main; + private Gtk.TreeView tv_files; + private Gtk.ScrolledWindow sw_files; - private Gtk.TreeViewColumn colCropL; - private Gtk.TreeViewColumn colCropR; - private Gtk.TreeViewColumn colCropT; - private Gtk.TreeViewColumn colCropB; - private Gtk.TreeViewColumn colStartPos; - private Gtk.TreeViewColumn colEndPos; - private Gtk.TreeViewColumn colEdit; + private Gtk.TreeViewColumn col_crop_l; + private Gtk.TreeViewColumn col_crop_r; + private Gtk.TreeViewColumn col_crop_t; + private Gtk.TreeViewColumn col_crop_b; + private Gtk.TreeViewColumn col_start_pos; + private Gtk.TreeViewColumn col_end_pos; + private Gtk.TreeViewColumn col_edit; private MediaFile SelectedFile = null; - private Gtk.Button btnCropAuto; - private Gtk.Button btnCropReset; - private Gtk.Button btnOk; + private Gtk.Button btn_crop_auto; + private Gtk.Button btn_crop_reset; + private Gtk.Button btn_ok; private string action = ""; private bool crop_detect_is_running = false; @@ -82,31 +82,31 @@ action = _action; if (action == "crop"){ - title = "Crop Videos (Batch)"; + title = _("Crop Video") + " " + _("(Batch)"); } else if (action == "trim"){ - title = "Trim Duration (Batch)"; + title = _("Trim Duration") + " " + _("(Batch)"); } // get content area - vboxMain = get_content_area(); - vboxMain.set_size_request(600,500); + vbox_main = get_content_area(); + vbox_main.set_size_request(600,500); init_ui_file_list(); if (action == "crop"){ - // btnCropAuto - btnCropAuto = (Button) add_button ("Auto Crop", Gtk.ResponseType.NONE); - btnCropAuto.clicked.connect(btnCropAuto_clicked); + // btn_crop_auto + btn_crop_auto = (Button) add_button (_("Auto Crop"), Gtk.ResponseType.NONE); + btn_crop_auto.clicked.connect(btn_crop_auto_clicked); - // btnCropReset - btnCropReset = (Button) add_button ("Reset", Gtk.ResponseType.NONE); - btnCropReset.clicked.connect (btnCropReset_clicked); + // btn_crop_reset + btn_crop_reset = (Button) add_button (_("Reset"), Gtk.ResponseType.NONE); + btn_crop_reset.clicked.connect (btn_crop_reset_clicked); } - - // btnOk - btnOk = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); - btnOk.clicked.connect (btnOk_clicked); + + // btn_ok + btn_ok = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); + btn_ok.clicked.connect (btn_ok_clicked); refresh_list_view(); @@ -116,49 +116,52 @@ } private void init_ui_file_list(){ - //tvFiles - tvFiles = new TreeView(); - tvFiles.get_selection().mode = SelectionMode.MULTIPLE; - //tvFiles.set_tooltip_text (_("Right-click for more options")); - tvFiles.headers_clickable = true; - tvFiles.activate_on_single_click = true; - tvFiles.rules_hint = true; + //tv_files + tv_files = new TreeView(); + tv_files.get_selection().mode = SelectionMode.MULTIPLE; + //tv_files.set_tooltip_text (_("Right-click for more options")); + tv_files.headers_clickable = true; + tv_files.activate_on_single_click = true; + tv_files.rules_hint = true; - swFiles = new ScrolledWindow(tvFiles.get_hadjustment(), tvFiles.get_vadjustment()); - swFiles.set_shadow_type (ShadowType.ETCHED_IN); - swFiles.add (tvFiles); - swFiles.margin = 3; - swFiles.set_size_request (-1, 150); - vboxMain.pack_start (swFiles, true, true, 0); + sw_files = new ScrolledWindow(tv_files.get_hadjustment(), tv_files.get_vadjustment()); + sw_files.set_shadow_type (ShadowType.ETCHED_IN); + sw_files.add (tv_files); + sw_files.margin = 3; + sw_files.set_size_request (-1, 150); + vbox_main.pack_start (sw_files, true, true, 0); CellRendererText cellText; CellRendererSpin cellSpin; - //colName - var colName = new TreeViewColumn(); - colName.title = _("File"); - colName.expand = true; - colName.resizable = true; - colName.clickable = true; - colName.min_width = 100; - tvFiles.append_column(colName); + // file name ----------------------------- + + var col = new TreeViewColumn(); + col.title = _("File"); + col.expand = true; + col.resizable = true; + col.clickable = true; + col.min_width = 100; + tv_files.append_column(col); cellText = new CellRendererText(); cellText.xalign = (float) 0.0; cellText.ellipsize = Pango.EllipsizeMode.END; - colName.pack_start (cellText, false); - colName.set_cell_data_func (cellText, (cell_layout, cell, model, iter)=>{ + col.pack_start (cellText, false); + col.set_cell_data_func (cellText, (cell_layout, cell, model, iter)=>{ MediaFile mf; model.get (iter, 0, out mf, -1); (cell as Gtk.CellRendererText).text = mf.Name; }); - //colCropL - colCropL = new TreeViewColumn(); - colCropL.title = _("Crop Left"); - colCropL.fixed_width = 80; - tvFiles.append_column(colCropL); + // crop left ------------------------------------------- + + col = new TreeViewColumn(); + col.title = _("Crop Left"); + col.fixed_width = 80; + tv_files.append_column(col); + col_crop_l = col; cellSpin = new CellRendererSpin(); //cellSpin.xalign = (float) 0.5; @@ -168,14 +171,17 @@ colCrop_cell_edited(path, new_text, TreeColumn.CROP_LEFT); }); - colCropL.pack_start (cellSpin, false); - colCropL.set_attributes(cellSpin, "text", TreeColumn.CROP_LEFT); - - //colCropR - colCropR = new TreeViewColumn(); - colCropR.title = _("Right"); - colCropR.fixed_width = 80; - tvFiles.append_column(colCropR); + col.pack_start (cellSpin, false); + col.set_attributes(cellSpin, "text", TreeColumn.CROP_LEFT); + + // crop right ------------------------------------------- + + //col_crop_r + col = new TreeViewColumn(); + col.title = _("Right"); + col.fixed_width = 80; + tv_files.append_column(col); + col_crop_r = col; cellSpin = new CellRendererSpin(); //cellSpin.xalign = (float) 0.5; @@ -185,14 +191,17 @@ colCrop_cell_edited(path, new_text, TreeColumn.CROP_RIGHT); }); - colCropR.pack_start (cellSpin, false); - colCropR.set_attributes(cellSpin, "text", TreeColumn.CROP_RIGHT); - - //colCropT - colCropT = new TreeViewColumn(); - colCropT.title = _("Top");
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/ColumnSelectionDialog.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/ColumnSelectionDialog.vala
Changed
@@ -36,7 +36,7 @@ public class ColumnSelectionDialog : Gtk.Dialog { - private Gtk.TreeView tvCols; + private Gtk.TreeView tv_cols; public ColumnSelectionDialog.with_parent(Window parent, Gee.HashMap<TreeViewColumn,TreeViewListColumn> col_list) { title = _("Select Columns"); @@ -53,71 +53,68 @@ set_modal(true); // get content area - var vboxMain = get_content_area(); - vboxMain.set_size_request(300,300); + var vbox_main = get_content_area(); + vbox_main.set_size_request(300,300); //add treeview for columns - tvCols = new TreeView(); - tvCols.get_selection().mode = SelectionMode.MULTIPLE; - tvCols.set_tooltip_text (_("Drag and drop to re-order")); - tvCols.headers_visible = false; - tvCols.reorderable = true; - - var swCols = new ScrolledWindow(tvCols.get_hadjustment(), tvCols.get_vadjustment()); - swCols.set_shadow_type (ShadowType.ETCHED_IN); - swCols.add (tvCols); - swCols.margin = 3; - vboxMain.pack_start (swCols, true, true, 0); + tv_cols = new TreeView(); + tv_cols.get_selection().mode = SelectionMode.MULTIPLE; + tv_cols.set_tooltip_text (_("Drag and drop to re-order")); + tv_cols.headers_visible = false; + tv_cols.reorderable = true; + + var sw_cols = new ScrolledWindow(tv_cols.get_hadjustment(), tv_cols.get_vadjustment()); + sw_cols.set_shadow_type (ShadowType.ETCHED_IN); + sw_cols.add (tv_cols); + sw_cols.margin = 3; + vbox_main.pack_start (sw_cols, true, true, 0); - CellRendererText cellText; - //colName - var colName = new TreeViewColumn(); - colName.title = _("File"); - colName.expand = true; - tvCols.append_column(colName); + var col = new TreeViewColumn(); + col.title = _("File"); + col.expand = true; + tv_cols.append_column(col); //cell toggle - CellRendererToggle cell_select = new CellRendererToggle (); + var cell_select = new CellRendererToggle (); cell_select.activatable = true; - colName.pack_start (cell_select, false); - colName.set_cell_data_func (cell_select, (cell_layout, cell, model, iter) => { + col.pack_start (cell_select, false); + col.set_cell_data_func (cell_select, (cell_layout, cell, model, iter) => { bool selected; - TreeViewListColumn col; - model.get (iter, 0, out selected, 1, out col, -1); + model.get (iter, 0, out selected, -1); (cell as Gtk.CellRendererToggle).active = selected; }); cell_select.toggled.connect((path) => { - var store = (Gtk.ListStore) tvCols.model; + var store = (Gtk.ListStore) tv_cols.model; bool selected; - TreeViewListColumn col; + TreeViewListColumn column; TreeIter iter; store.get_iter_from_string (out iter, path); - store.get (iter, 0, out selected, 1, out col, -1); + store.get (iter, 0, out selected, 1, out column, -1); - col.Selected = !selected; + column.Selected = !selected; - store.set(iter, 0, col.Selected, -1); + store.set(iter, 0, column.Selected, -1); }); //cell text - cellText = new CellRendererText(); + var cellText = new CellRendererText(); cellText.ellipsize = Pango.EllipsizeMode.END; - colName.pack_start (cellText, false); - colName.set_cell_data_func (cellText, (cell_layout, cell, model, iter)=>{ - TreeViewListColumn col; - model.get (iter, 1, out col, -1); - (cell as Gtk.CellRendererText).text = col.FullDisplayName; + col.pack_start (cellText, false); + col.set_cell_data_func (cellText, (cell_layout, cell, model, iter)=>{ + TreeViewListColumn column; + model.get (iter, 1, out column, -1); + (cell as Gtk.CellRendererText).text = column.FullDisplayName; }); //create sorted list --------------------- TreeIter iter; var lst_all = new Gee.ArrayList<TreeViewListColumn>(); - foreach(TreeViewListColumn col in col_list.values){ - lst_all.add(col); + foreach(TreeViewListColumn column in col_list.values){ + lst_all.add(column); } CompareDataFunc<TreeViewListColumn> func = (a, b) => { return strcmp(a.FullDisplayName,b.FullDisplayName); @@ -129,40 +126,40 @@ var lst = new Gee.ArrayList<TreeViewListColumn>(); //add selected columns in order foreach(string col_name in App.ListViewColumns.split(",")){ - foreach(TreeViewListColumn col in col_list.values){ - if (col.Name == col_name){ - lst.add(col); + foreach(TreeViewListColumn column in col_list.values){ + if (column.Name == col_name){ + lst.add(column); break; } } } //add unselected - foreach(TreeViewListColumn col in lst_all){ - if (!col.Selected){ - lst.add(col); + foreach(TreeViewListColumn column in lst_all){ + if (!column.Selected){ + lst.add(column); } } //add rows ---------------------- var store = new Gtk.ListStore (2, typeof(bool), typeof(TreeViewListColumn)); - foreach(TreeViewListColumn col in lst){ + foreach(TreeViewListColumn column in lst){ store.append (out iter); - store.set (iter, 0, col.Selected); - store.set (iter, 1, col); + store.set (iter, 0, column.Selected); + store.set (iter, 1, column); } - tvCols.model = store; + tv_cols.model = store; - // btnSave - var btnSave = (Button) add_button ("gtk-save", Gtk.ResponseType.ACCEPT); - btnSave.clicked.connect (()=>{ + // btn_save + var btn_save = (Button) add_button ("gtk-save", Gtk.ResponseType.ACCEPT); + btn_save.clicked.connect (()=>{ save_columns(col_list); this.close(); }); - // btnCancel - var btnCancel = (Button) add_button ("gtk-cancel", Gtk.ResponseType.CANCEL); - btnCancel.clicked.connect (()=>{ + // btn_cancel + var btn_cancel = (Button) add_button ("gtk-cancel", Gtk.ResponseType.CANCEL); + btn_cancel.clicked.connect (()=>{ this.close(); }); @@ -181,12 +178,12 @@ var list = new Gee.ArrayList<TreeViewListColumn>(); TreeIter iter; - bool iterExists = tvCols.model.get_iter_first (out iter); + bool iterExists = tv_cols.model.get_iter_first (out iter); while (iterExists) { TreeViewListColumn item; - tvCols.model.get (iter, 1, out item, -1); + tv_cols.model.get (iter, 1, out item, -1); list.add(item); - iterExists = tvCols.model.iter_next (ref iter); + iterExists = tv_cols.model.iter_next (ref iter); } // create string of column names -------------
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/EncoderConfigWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/EncoderConfigWindow.vala
Changed
@@ -35,156 +35,133 @@ public class EncoderConfigWindow : Gtk.Dialog { - public string Folder; - public string Name; - public bool CreateNew = false; - - private Notebook tabMain; - private Box vboxMain; - - private Label lblGeneral; - private Grid gridGeneral; - - private Label lblVideo; - private Grid gridVideo; - - private Label lblAudio; - private Grid gridAudio; - - private Label lblSubtitle; - private Grid gridSubtitle; - - private Label lblVideoFilters; - private Grid gridVideoFilters; - - private Label lblAudioFilters; - private Grid gridAudioFilters; - - private Label lblPresetName; - private Entry txtPresetName; - - private Label lblFileFormat; - private ComboBox cmbFileFormat; - - private Label lblFileExtension; - private ComboBox cmbFileExtension; - - private Label lblVCodec; - private ComboBox cmbVCodec; - - private Label lblVideoMode; - private ComboBox cmbVideoMode; - - private Label lblVideoBitrate; - private SpinButton spinVideoBitrate; - - private ComboBox cmbX264Preset; - private Label lblX264Preset; - - private Label lblX264Profile; - private ComboBox cmbX264Profile; - - private Label lblVideoQuality; - private SpinButton spinVideoQuality; - - private ComboBox cmbVpxSpeed; - private Label lblVpxSpeed; - private Scale scaleVpxSpeed; - - private Label lblHeaderFileFormat; - private Label lblHeaderPreset; - private Label lblHeaderFrameSize; - private Label lblHeaderFrameRate; - - private Gtk.Image imgAudioCodec; - private Gtk.Image imgVideoCodec; - private Gtk.Image imgFileFormat; - - private Label lblFrameSize; - private ComboBox cmbFrameSize; - private Label lblFrameSizeCustom; - private SpinButton spinFrameWidth; - private SpinButton spinFrameHeight; - private Box hboxFrameSize; - private CheckButton chkNoUpScale; - private CheckButton chkFitToBox; - - private Label lblFPS; - private ComboBox cmbFPS; - private Label lblFPSCustom; - private SpinButton spinFPSNum; - private SpinButton spinFPSDenom; - private Box hboxFPS; - private Label lblResizingMethod; - private ComboBox cmbResizingMethod; - - private Label lblVCodecOptions; - private Gtk.TextView txtVCodecOptions; - - private Label lblACodec; - private ComboBox cmbACodec; - - private Label lblAudioMode; - private ComboBox cmbAudioMode; - - private Label lblAudioBitrate; - private SpinButton spinAudioBitrate; - - private Label lblAudioQuality; - private SpinButton spinAudioQuality; - - private Label lblOpusOptimize; - private ComboBox cmbOpusOptimize; - - private Label lblAacProfile; - private ComboBox cmbAacProfile; + private string Folder = ""; + private string Name = ""; + private bool IsNew = true; + + private Gtk.Paned pane; + private Gtk.TreeView tv_pages; + private Gtk.Notebook notebook; + private Box vbox_main; + + // grids + private Gtk.Grid grid_video; + private Gtk.Grid grid_audio; + private Gtk.Grid grid_subs; + private Gtk.Grid grid_vf; + private Gtk.Grid grid_af; + + //preset + private Gtk.Entry txt_preset_name; + private Gtk.Entry txt_author_name; + private Gtk.Entry txt_author_email; + private Gtk.Entry txt_preset_version; + + //file format + private Gtk.ComboBox cmb_format; + private Gtk.ComboBox cmb_ext; + private Gtk.Image img_file_format; - private Label lblAuthorName; - private Entry txtAuthorName; - - private Label lblAuthorEmail; - private Entry txtAuthorEmail; - - private Label lblPresetVersion; - private Entry txtPresetVersion; - - private Label lblAudioSampleRate; - private ComboBox cmbAudioSampleRate; - - private Label lblAudioChannels; - private ComboBox cmbAudioChannels; - - private Switch switchSox; - private Label lblHeaderSox; - private Label lblAudioBass; - private Scale scaleBass; - private Label lblAudioTreble; - private Scale scaleTreble; - private Label lblAudioPitch; - private Scale scalePitch; - private Label lblAudioTempo; - private Scale scaleTempo; - private Label lblNormalize; - private Switch switchNormalize; - private Label lblEarWax; - private Switch switchEarWax; - private Label lblFadeIn; - private SpinButton spinFadeIn; - private Label lblFadeOut; - private SpinButton spinFadeOut; - private ComboBox cmbFadeType; - - private Label lblSubtitleMode; - private ComboBox cmbSubtitleMode; - - private Label lblSubFormatMessage; - - private Button btnSave; - private Button btnCancel; - - public EncoderConfigWindow() { - title = "Preset"; - set_default_size (450, 550); + //video encoder + private Gtk.ComboBox cmb_vcodec; + private Gtk.Label lbl_vmessage; + private Gtk.Label lbl_vmode; + private Gtk.ComboBox cmb_vmode; + private Gtk.Label lbl_vbitrate; + private Gtk.SpinButton spin_vbitrate; + private Gtk.ComboBox cmb_x264_preset; + private Gtk.Label lbl_x264_preset; + private Gtk.Label lbl_x264_profile; + private Gtk.ComboBox cmb_x264_profile; + private Gtk.Label lbl_vquality; + private Gtk.SpinButton spin_vquality; + private Gtk.ComboBox cmb_vpx_speed; + private Gtk.Label lbl_vpx_speed; + private Gtk.Scale scale_vpx_speed; + private Gtk.Label lvl_voptions; + private Gtk.TextView txt_voptions; + private Gtk.Image img_video_format; +
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/EncoderStatusWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/EncoderStatusWindow.vala
Changed
@@ -34,10 +34,10 @@ public class EncoderStatusWindow : Gtk.Dialog { - private Gtk.Box vboxMain; + private Gtk.Box vbox_main; private Gtk.Box vbox_actions; - private Gtk.Button btnOk; - private Gtk.Button btnRefesh; + private Gtk.Button btn_ok; + private Gtk.Button btn_refresh; private Gtk.TreeView tv; private Gtk.ScrolledWindow sw; @@ -55,8 +55,8 @@ icon = get_app_icon(16); // get content area - vboxMain = get_content_area(); - vboxMain.set_size_request (500, 450); + vbox_main = get_content_area(); + vbox_main.set_size_request (500, 450); // get action area vbox_actions = (Box) get_action_area(); @@ -70,7 +70,7 @@ sw.set_shadow_type (ShadowType.ETCHED_IN); sw.add (tv); sw.expand = true; - vboxMain.add(sw); + vbox_main.add(sw); TreeViewColumn col_name = new TreeViewColumn(); col_name.title = " " + _("Tool") + " "; @@ -104,19 +104,19 @@ tv_refresh(); - //btnRefesh - btnRefesh = new Button.with_label(" " + _("Refresh") + " "); - vbox_actions.add(btnRefesh); - btnRefesh.clicked.connect(()=>{ + //btn_refresh + btn_refresh = new Button.with_label(" " + _("Refresh") + " "); + vbox_actions.add(btn_refresh); + btn_refresh.clicked.connect(()=>{ gtk_set_busy(true,this); App.check_all_encoders(); tv_refresh(); gtk_set_busy(false,this); }); - //btnOk - btnOk = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); - btnOk.clicked.connect (() => { destroy(); }); + //btn_ok + btn_ok = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); + btn_ok.clicked.connect (() => { destroy(); }); show_all(); }
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/FileInfoWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/FileInfoWindow.vala
Changed
@@ -34,11 +34,11 @@ public class FileInfoWindow : Gtk.Dialog { - private Box vboxMain; - private Button btnOk; + private Box vbox_main; + private Button btn_ok; public MediaFile file; - private TreeView tvInfo; - private ScrolledWindow swInfo; + private TreeView tv_info; + private ScrolledWindow sw_info; public FileInfoWindow (MediaFile _file) { title = _("Properties"); @@ -59,28 +59,29 @@ } // get content area - vboxMain = get_content_area(); - vboxMain.margin = 3; + vbox_main = get_content_area(); + vbox_main.margin = 3; - //tvInfo - tvInfo = new TreeView(); - tvInfo.get_selection().mode = SelectionMode.MULTIPLE; - tvInfo.headers_visible = false; - tvInfo.insert_column_with_attributes (-1, _("Key"), new CellRendererText(), "text", 0); - tvInfo.insert_column_with_attributes (-1, _("Value"), new CellRendererText(), "text", 1); - swInfo = new ScrolledWindow(tvInfo.get_hadjustment(), tvInfo.get_vadjustment()); - swInfo.set_shadow_type (ShadowType.ETCHED_IN); - swInfo.add (tvInfo); - swInfo.set_size_request (-1, 200); - vboxMain.pack_start (swInfo, true, true, 0); + //tv_info + tv_info = new TreeView(); + tv_info.get_selection().mode = SelectionMode.MULTIPLE; + tv_info.headers_visible = false; + tv_info.insert_column_with_attributes (-1, _("Key"), new CellRendererText(), "text", 0); + tv_info.insert_column_with_attributes (-1, _("Value"), new CellRendererText(), "text", 1); + + sw_info = new ScrolledWindow(tv_info.get_hadjustment(), tv_info.get_vadjustment()); + sw_info.set_shadow_type (ShadowType.ETCHED_IN); + sw_info.add (tv_info); + sw_info.set_size_request (-1, 200); + vbox_main.pack_start (sw_info, true, true, 0); - TreeStore infoStore = new TreeStore (2, typeof (string), typeof (string)); + var store = new TreeStore (2, typeof (string), typeof (string)); TreeIter iter0; TreeIter iter1; int index = -1; - infoStore.append (out iter0, null); - //infoStore.remove (ref iter0); + store.append (out iter0, null); + //store.remove (ref iter0); foreach (string line in file.InfoTextFormatted.split ("\n")){ if (line.strip() == "") { continue; } @@ -88,20 +89,20 @@ index = line.index_of (":"); if (index == -1){ - infoStore.append (out iter0, null); - infoStore.set (iter0, 0, line.strip()); + store.append (out iter0, null); + store.set (iter0, 0, line.strip()); } else{ - infoStore.append (out iter1, iter0); - infoStore.set (iter1, 0, line[0:index-1].strip()); - infoStore.set (iter1, 1, line[index+1:line.length].strip()); + store.append (out iter1, iter0); + store.set (iter1, 0, line[0:index-1].strip()); + store.set (iter1, 1, line[index+1:line.length].strip()); } } - tvInfo.set_model (infoStore); - tvInfo.expand_all(); + tv_info.set_model (store); + tv_info.expand_all(); - // btnOk - btnOk = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); - btnOk.clicked.connect (() => { destroy(); }); + // btn_ok + btn_ok = (Button) add_button ("gtk-ok", Gtk.ResponseType.ACCEPT); + btn_ok.clicked.connect (() => { destroy(); }); } }
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/Main.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/Main.vala
Changed
@@ -38,7 +38,7 @@ public Main App; public const string AppName = "Selene Media Converter"; public const string AppShortName = "selene"; -public const string AppVersion = "16.2.7"; +public const string AppVersion = "16.3.3"; public const string AppAuthor = "Tony George"; public const string AppAuthorEmail = "teejeetech@gmail.com"; @@ -88,7 +88,9 @@ public string PrimaryEncoder = "ffmpeg"; public string PrimaryPlayer = "mpv"; - + public string DefaultLanguage = "en"; + public bool DeleteTempFiles = true; + public string ListViewColumns = ""; public ScriptFile SelectedScript; @@ -140,11 +142,17 @@ private DataInputStream disErr; private DataOutputStream dsLog; + Pid child_pid; + int input_fd; + int output_fd; + int error_fd; + private string blankLine = ""; public static int main (string[] args) { //set locale - Intl.setlocale(GLib.LocaleCategory.MESSAGES, ""); + //set_locale(""); + Intl.setlocale(GLib.LocaleCategory.ALL, ""); Intl.textdomain(GETTEXT_PACKAGE); Intl.bind_textdomain_codeset(GETTEXT_PACKAGE, "utf-8"); Intl.bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR); @@ -241,6 +249,8 @@ if ((App.SelectedScript == null)||(App.InputFiles.size == 0)) App.ConsoleMode = false; + LanguageCodes.build_maps(); + //show window if (App.ConsoleMode){ if (App.InputFiles.size == 0){ @@ -255,7 +265,7 @@ window.destroy.connect (App.exit_app); window.show_all(); } - + Gtk.main(); return 0; @@ -306,6 +316,13 @@ return msg; } + public static void set_numeric_locale(string type){ + Intl.setlocale(GLib.LocaleCategory.NUMERIC, type); + Intl.setlocale(GLib.LocaleCategory.COLLATE, type); + Intl.setlocale(GLib.LocaleCategory.TIME, type); + } + + public Main(string arg0){ InputFiles = new Gee.ArrayList<MediaFile>(); @@ -428,7 +445,7 @@ public void init_encoder_list(){ Encoders["avconv"] = new Encoder("avconv","Libav Encoder","Audio-Video Decoding"); Encoders["ffmpeg"] = new Encoder("ffmpeg","FFmpeg Encoder","Audio-Video Decoding"); - Encoders["ffmpeg2theora"] = new Encoder("ffmpeg2theora","Theora Video Encoder","Theora Output"); + //Encoders["ffmpeg2theora"] = new Encoder("ffmpeg2theora","Theora Video Encoder","Theora Output"); Encoders["lame"] = new Encoder("lame","LAME MP3 Encoder", "MP3 Output"); Encoders["mediainfo"] = new Encoder("mediainfo","Media Information Utility","Reading Audio Video Properties"); Encoders["mkvmerge"] = new Encoder("mkvmerge","Matroska Muxer","MKV Output"); @@ -441,6 +458,8 @@ Encoders["vpxenc"] = new Encoder("vpxenc","VP8 Video Encoder","VP8/WebM Output"); Encoders["x264"] = new Encoder("x264","H.264 / MPEG-4 AVC Video Encoder","H264 Output"); Encoders["x265"] = new Encoder("x265","H.265 / MPEG-H HEVC Video Encoder","H265 Output"); + Encoders["kateenc"] = new Encoder("kateenc","Kate Subtitle Encoder for OGG Files","Subtitles in OGG"); + Encoders["oggz"] = new Encoder("oggz","OGG Merge Tool","Merging OGG Files"); //Encoders["ffplay"] = new Encoder("ffplay","FFmpeg's Audio Video Player","Audio-Video Playback"); //Encoders["avplay"] = new Encoder("avplay","Libav's Audio Video Player","Audio-Video Playback"); @@ -521,6 +540,8 @@ config.set_string_member("tile-view", TileView.to_string()); config.set_string_member("av-encoder", PrimaryEncoder); config.set_string_member("av-player", PrimaryPlayer); + config.set_string_member("default-lang", DefaultLanguage); + config.set_string_member("delete-temp-files", DeleteTempFiles.to_string()); config.set_string_member("list-view-columns", ListViewColumns); if (SelectedScript != null) { @@ -576,6 +597,9 @@ PrimaryEncoder = json_get_string(config,"av-encoder", "ffmpeg"); PrimaryPlayer = json_get_string(config,"av-player", "mpv"); + DefaultLanguage = json_get_string(config,"default-lang", "en"); + + DeleteTempFiles = json_get_bool(config,"delete-temp-files",true); check_and_default_av_encoder(); check_and_default_av_player(); @@ -627,7 +651,7 @@ Gtk.main_quit(); } - public bool add_file (string filePath){ + public MediaFile? add_file (string filePath){ MediaFile mFile = new MediaFile (filePath, App.PrimaryEncoder); if (mFile.IsValid @@ -647,19 +671,19 @@ if (duplicate) { - return true; //not an error since file is already added + return mFile; //not an error since file is already added } else{ InputFiles.add(mFile); log_msg (_("File added:") + " '%s'".printf (mFile.Path)); - return true; + return mFile; } } else{ log_error (_("Unknown format:") + " '%s'".printf (mFile.Path)); } - return false; + return null; } public void remove_files (Gee.ArrayList<MediaFile> file_list){ @@ -800,12 +824,6 @@ CurrentFile.ProgressPercent = 0; log_msg (_("Source:") + " '%s'".printf(CurrentFile.Path), true); - if ((CurrentFile.SubFile != null) && (CurrentFile.SubFile.length > 0)){ - log_msg ((mf.HasVideo) ? _("Subtitles:") : _("Lyrics:") + " '%s'".printf(CurrentFile.SubName)); - } - else{ - log_msg ((mf.HasVideo) ? _("Subtitles:") : _("Lyrics:") + " None"); - } Progress = 0; StatusLine = ""; @@ -820,8 +838,11 @@ //move files to backup location on success if ((is_success == true) && (BackupDirectory.length > 0) && (dir_exists (BackupDirectory))){ move_file (CurrentFile.Path, BackupDirectory + "/" + CurrentFile.Name); - if (CurrentFile.SubFile != null){ - move_file (CurrentFile.SubFile, BackupDirectory + "/" + CurrentFile.SubName); + + foreach(TextStream stream in mf.text_list){ + if (stream.IsExternal){ + move_file (stream.SubFile, BackupDirectory + "/" + stream.SubName); + } } } @@ -864,16 +885,6 @@ script.append ("\n"); } - if (mf.SubFile != null){ - script.append ("subFile='" + escape (mf.SubFile) + "'\n"); - script.append ("subName='" + escape (mf.SubName) + "'\n"); - script.append ("subExt='" + escape (mf.SubExt.down()) + "'\n"); - } - else { - script.append ("subFile=''\n"); - script.append ("subName=''\n"); - script.append ("subExt=''\n"); - } script.append ("\n"); script.append ("""scriptDir="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )""""); script.append ("\n"); @@ -887,43 +898,10 @@ var fileScript = File.parse_name (SelectedScript.Path); var dis = new DataInputStream (fileScript.read()); - /*MatchInfo match; - Regex rxCrop_libav = new Regex ("""(avconv|ffmpeg).*-vf.*(crop=[^, ]+)"""); - Regex rxCrop_x264 = new Regex ("""x264.*(--vf|--video-filter).*(crop:[^/ ]+)"""); - Regex rxCrop_f2t = new Regex ("""ffmpeg2theora.*"""); - Regex rxCrop_f2t_left = new Regex ("""ffmpeg2theora.*(--cropleft [0-9]+) """); - Regex rxCrop_f2t_right = new Regex ("""ffmpeg2theora.*(--cropright [0-9]+) """); - Regex rxCrop_f2t_top = new Regex ("""ffmpeg2theora.*(--croptop [0-9]+) """); - Regex rxCrop_f2t_bottom = new Regex ("""ffmpeg2theora.*(--cropbottom [0-9]+) """);*/ - string line = dis.read_line (null); while (line != null) { line = line.replace ("${audiodec}", "%s -i \"${inFile}\" -f wav -acodec pcm_s16le -vn -y -".printf(PrimaryEncoder));
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/MainWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/MainWindow.vala
Changed
@@ -34,105 +34,114 @@ using TeeJee.Misc; public class MainWindow : Gtk.Window{ - //main toolbar + // main toolbar + private Gtk.Toolbar toolbar; - private MenuToolButton btnAddFiles; - private MenuToolButton btnRemoveFiles; - private Gtk.Menu menuAddFiles; - private Gtk.Menu menuRemoveFiles; - private ToolButton btnEncoders; - private ToolButton btnAppSettings; - private ToolButton btnAbout; - private ToolButton btnDonate; - private ToolButton btnOpenOutputFolder; - - private MenuToolButton btnEditFiles; - private Gtk.Menu menuEditFiles; - - private ToolButton btnStart; - private ToolButton btnStop; - private ToolButton btnFinish; - private ToolButton btnPause; - private ToggleToolButton btnShutdown; - private ToolButton btnBackground; - private SeparatorToolItem separator1; - private SeparatorToolItem separator2; - - //preset toolbar + + private Gtk.Menu menu_add_files; + private Gtk.MenuToolButton btn_add_files; + private Gtk.Menu menu_remove_files; + private Gtk.MenuToolButton btn_remove_files; + private Gtk.Menu menu_edit_files; + private Gtk.MenuToolButton btn_edit_files; + + private Gtk.ToolButton btn_start; + private Gtk.ToolButton btn_stop; + private Gtk.ToolButton btn_finish; + private Gtk.ToolButton btn_pause; + private Gtk.ToggleToolButton btn_shutdown; + private Gtk.ToolButton btn_background; + private Gtk.SeparatorToolItem separator1; + private Gtk.SeparatorToolItem separator2; + private Gtk.ToolButton btn_encoders; + private Gtk.ToolButton btn_app_settings; + private Gtk.ToolButton btn_about; + private Gtk.ToolButton btn_donate; + private Gtk.ToolButton btn_open_output_dir; + + // presets + private Gtk.Toolbar toolbar2; - private ToolButton btnAddPreset; - private ToolButton btnRemovePreset; - private ToolButton btnBrowsePresetFolder; - private ToolButton btnPresetInfo; - - private Box vboxMain; - private Box vboxMain2; - private ComboBox cmbScriptFile; - private ComboBox cmbScriptFolder; - private Label lblScriptFile; - private Label lblScriptFolder; - private Button btnEditPreset; - private TreeView tvFiles; - private ScrolledWindow swFiles; - private Label lblStatus; - private Gtk.Menu menuFile; - private ImageMenuItem miFileInfo; - private ImageMenuItem miFileInfoOutput; - private ImageMenuItem miFileSkip; - private Gtk.MenuItem miFileCropAuto; - private Gtk.MenuItem miFileTrim; - private Gtk.MenuItem miFileRemove; - private Gtk.MenuItem miFilePlaySource; - private Gtk.MenuItem miFilePlayOutput; + private Gtk.ToolButton btn_add_preset; + private Gtk.ToolButton btn_remove_preset; + private Gtk.ToolButton btn_open_preset_dir; + private Gtk.ToolButton btn_preset_info; + + private Gtk.Box vbox_main; + private Gtk.Box vbox_main_2; + private Gtk.ComboBox cmb_script_file; + private Gtk.ComboBox cmb_script_dir; + private Gtk.Button btn_edit_preset; + private Gtk.Label lbl_status; + + // right-click menu + + private Gtk.Menu menu_file; + private Gtk.ImageMenuItem mi_file_info; + private Gtk.ImageMenuItem mi_file_info_output; + private Gtk.ImageMenuItem mi_file_skip; + private Gtk.MenuItem mi_file_crop; + private Gtk.MenuItem mi_file_trim; + private Gtk.MenuItem mi_file_remove; + private Gtk.MenuItem mi_file_play_src; + private Gtk.MenuItem mi_file_play_output; private Gtk.MenuItem miFileSeparator1; private Gtk.MenuItem miFileSeparator2; - private Gtk.MenuItem miFileOpenTemp; - private Gtk.MenuItem miFileOpenOutput; - private Gtk.MenuItem miFileOpenLogFile; - private Gtk.MenuItem miListViewColumns; + private Gtk.MenuItem mi_file_open_temp_dir; + private Gtk.MenuItem mi_file_open_output_dir; + private Gtk.MenuItem mi_file_open_logfile; + private Gtk.MenuItem mi_listview_columns; + + // list view columns + + private Gtk.TreeView tv_files; + private Gtk.ScrolledWindow sw_files; - private TreeViewColumn colName; - private TreeViewColumn colSize; - private TreeViewColumn colDuration; - //private TreeViewColumn colCrop; - private TreeViewColumn colProgress; - private TreeViewColumn colSpacer; - private TreeViewColumn colFileFormat; - private TreeViewColumn colAFormat; - private TreeViewColumn colAChannels; - private TreeViewColumn colARate; - private TreeViewColumn colBitrate; - private TreeViewColumn colABitrate; - private TreeViewColumn colVBitrate; - private TreeViewColumn colVFormat; - private TreeViewColumn colVWidth; - private TreeViewColumn colVHeight; - private TreeViewColumn colVFps; - private TreeViewColumn colArtist; - private TreeViewColumn colAlbum; - private TreeViewColumn colGenre; - private TreeViewColumn colTrackName; - private TreeViewColumn colTrackNum; - private TreeViewColumn colComments; - private TreeViewColumn colRecordedDate; - private Grid gridConfig; + private Gtk.TreeViewColumn col_name; + private Gtk.TreeViewColumn col_size; + private Gtk.TreeViewColumn col_duration; + private Gtk.TreeViewColumn col_progress; + private Gtk.TreeViewColumn col_spacer; + private Gtk.TreeViewColumn col_file_format; + private Gtk.TreeViewColumn col_aformat; + private Gtk.TreeViewColumn col_channels; + private Gtk.TreeViewColumn col_sampling; + private Gtk.TreeViewColumn col_bitrate; + private Gtk.TreeViewColumn col_abitrate; + private Gtk.TreeViewColumn col_vbitrate; + private Gtk.TreeViewColumn col_vformat; + private Gtk.TreeViewColumn col_width; + private Gtk.TreeViewColumn col_height; + private Gtk.TreeViewColumn col_fps; + private Gtk.TreeViewColumn col_artist; + private Gtk.TreeViewColumn col_album; + private Gtk.TreeViewColumn col_genre; + private Gtk.TreeViewColumn col_track_name; + private Gtk.TreeViewColumn col_track_num; + private Gtk.TreeViewColumn col_comments; + private Gtk.TreeViewColumn col_recorded_date; + private Gtk.Grid grid_config; private Gee.HashMap<TreeViewColumn,TreeViewListColumn> col_list; - private Regex regexGeneric; - private Regex regexMkvMerge; - private Regex regexFFmpeg; - private Regex regexLibAV; - private Regex regexLibAV_video; - private Regex regexLibAV_audio; - private Regex regexX264; - + // regular expressions + + private Regex rex_generic; + private Regex rex_mkvmerge; + private Regex rex_ffmpeg; + private Regex rex_libav; + private Regex rex_libav_video; + private Regex rex_libav_audio; + private Regex rex_x264; + + // timers and status + private string statusLine; private uint timerID = 0; private uint startupTimer = 0; private uint statusTimer = 0; private uint cpuUsageTimer = 0; - + private bool paused = false; private MediaFile lastFile;
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/MediaFile.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/MediaFile.vala
Changed
@@ -18,10 +18,6 @@ public long Duration = 0; //in milliseconds public string ThumbnailImagePath = ""; - public string SubFile = ""; - public string SubName = ""; - public string SubExt = ""; - public string TrackName = ""; public string TrackNumber = ""; public string Album = ""; @@ -30,8 +26,6 @@ public string RecordedDate = ""; public string Comment = ""; - //public int CropW = 0; - //public int CropH = 0; public int CropL = 0; public int CropR = 0; public int CropT = 0; @@ -42,7 +36,11 @@ public double EndPos = 0.0; public Gee.ArrayList<MediaClip> clip_list; - //public int Status = 0; + public Gee.ArrayList<MediaStream> stream_list; + public Gee.ArrayList<AudioStream> audio_list; + public Gee.ArrayList<VideoStream> video_list; + public Gee.ArrayList<TextStream> text_list; + public FileStatus Status = FileStatus.PENDING; public bool IsValid; public string ProgressText = _("Queued"); @@ -51,10 +49,6 @@ public string InfoText = ""; public string InfoTextFormatted = ""; - public bool HasAudio = false; - public bool HasVideo = false; - public bool HasSubs = false; - public string FileFormat = ""; public string VideoFormat = ""; public string AudioFormat = ""; @@ -75,12 +69,28 @@ public static int ThumbnailWidth = 80; public static int ThumbnailHeight= 64; - - public MediaFile(string filePath, string av_encoder){ + + private string ff_encoder = ""; + private string ff_player = ""; + + public MediaFile(string filePath, string ff_encoder){ IsValid = false; if (file_exists (filePath) == false) { return; } + this.ff_encoder = ff_encoder; + + if (ff_encoder == "ffmpeg"){ + this.ff_player = "ffplay"; + } + else{ + this.ff_player = "avplay"; + } + clip_list = new Gee.ArrayList<MediaClip>(); + stream_list = new Gee.ArrayList<MediaStream>(); + audio_list = new Gee.ArrayList<AudioStream>(); + video_list = new Gee.ArrayList<VideoStream>(); + text_list = new Gee.ArrayList<TextStream>(); // set file properties ------------ @@ -112,17 +122,69 @@ // search for subtitle files --------------- try{ - var enumerator = fp.enumerate_children ("%s,%s".printf(FileAttribute.STANDARD_NAME,FileAttribute.STANDARD_TYPE), 0); + var enumerator = fp.enumerate_children ("%s,%s,%s".printf(FileAttribute.STANDARD_NAME,FileAttribute.STANDARD_TYPE,FileAttribute.STANDARD_SIZE), 0); var fileInfo = enumerator.next_file(); while (fileInfo != null) { if (fileInfo.get_file_type() == FileType.REGULAR) { string fname = fileInfo.get_name().down(); + if (fname.has_prefix(Title.down()) && (fname.has_suffix (".srt")||fname.has_suffix (".sub")||fname.has_suffix (".ssa")||fname.has_suffix (".ttxt")||fname.has_suffix (".xml")||fname.has_suffix (".lrc"))) { - SubName = fileInfo.get_name(); - SubFile = Location + "/" + SubName; - SubExt = SubFile[SubFile.last_index_of(".",0):SubFile.length].down(); - HasSubs = true; + var stream = new TextStream(); + stream_list.add(stream); + text_list.add(stream); + stream.TypeIndex = text_list.index_of(stream); + + if (fname.has_suffix (".srt")){ + stream.Format = "SRT"; + } + else if (fname.has_suffix (".ssa")){ + stream.Format = "SSA"; + } + else if (fname.has_suffix (".sub")){ + stream.Format = "SUB"; + } + else if (fname.has_suffix (".ttxt")){ + stream.Format = "TTXT"; + } + else if (fname.has_suffix (".lrc")){ + stream.Format = "LRC"; + } + else if (fname.has_suffix (".xml")){ + stream.Format = "XML"; + } + + stream.SubName = fileInfo.get_name(); + stream.SubFile = Location + "/" + stream.SubName; + stream.SubExt = stream.SubFile[stream.SubFile.last_index_of(".",0):stream.SubFile.length].down(); + stream.StreamSize = fileInfo.get_size(); + stream.get_character_encoding(); + + // try to parse language info from subtitle file name + + var SubtitleTitle = stream.SubName[0: stream.SubName.last_index_of(".",0)]; + //log_msg("sub=%s".printf(SubtitleTitle)); + + if (SubtitleTitle.length > Title.length){ + string lang = SubtitleTitle.down(); + lang = lang[Title.length:SubtitleTitle.length]; + lang = lang.replace("_","").replace("-","").strip(); + + //log_msg("lang='%s',length=%d".printf(lang,lang.length)); + + if (lang.length == 2){ + if (LanguageCodes.map_2_to_3.has_key(lang)){ + stream.LangCode = lang; + stream.Title = LanguageCodes.map_2_to_Name[lang]; + } + } + else if (lang.length == 3){ + if (LanguageCodes.map_3_to_2.has_key(lang)){ + stream.LangCode = LanguageCodes.map_3_to_2[lang]; + stream.Title = LanguageCodes.map_3_to_Name[lang]; + } + } + } //log ("file=%s, name=%s, ext=%s\n".printf(SubFile, SubName, SubExt)); } } @@ -133,10 +195,10 @@ log_error (e.message); } - + // get thumbnail --------- - generate_thumbnail(av_encoder); + generate_thumbnail(); IsValid = true; } @@ -149,26 +211,53 @@ } string sectionType = ""; - + MediaStream stream = null; + foreach (string line in InfoText.split ("\n")){ if (line == null || line.length == 0) { continue; } - if (line.contains (":") == false) - { + if (line.contains (":") == false){ if (line.contains ("Audio")){ + stream = new AudioStream(); + stream_list.add(stream); + stream.Index = stream_list.index_of(stream) - 1; //-1 to ignore GeneralStream + + var audio = stream as AudioStream; + audio_list.add(audio); + audio.TypeIndex = audio_list.index_of(audio); + sectionType = "audio"; - HasAudio = true; + //HasAudio = true; } else if (line.contains ("Video")){ + stream = new VideoStream(); + stream_list.add(stream); + stream.Index = stream_list.index_of(stream) - 1; //-1 to ignore GeneralStream + + var video = stream as VideoStream; + video_list.add(video); + video.TypeIndex = video_list.index_of(video); + sectionType = "video"; - HasVideo = true;
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/MediaPlayerWindow.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/MediaPlayerWindow.vala
Changed
@@ -70,7 +70,7 @@ private uint tmr_init = 0; private string action = ""; private bool crop_detect_is_running = false; - + public static Gtk.Window CropVideo(MediaFile mf, Gtk.Window parent){ var win = new MediaPlayerWindow(mf, parent, "crop"); parent.hide(); @@ -113,16 +113,16 @@ resizable = false; action = _action; - + player = new MediaPlayer(); player.mFile = _mFile; mFile = _mFile; if (action == "crop"){ - title = "Crop Video"; + title = _("Crop Video"); } else if (action == "trim"){ - title = "Trim"; + title = _("Trim"); } else if (action == "play"){ title = mFile.Name + " - Selene"; @@ -149,6 +149,10 @@ status_timer_stop(); player.Exit(); //return false; + + if (action == "trim"){ + update_basic_mode_options(); + } }); show_all(); @@ -473,6 +477,8 @@ grid.attach(button,3,2,1,1); button.clicked.connect(()=>{ + update_basic_mode_options(); + grid_trim_basic.no_show_all = false; grid_trim_basic.show_all(); grid_trim_basic.visible = true; @@ -650,13 +656,13 @@ string time = ""; if (current_clip != null){ - msg += "<b>Clip #%d</b>\n\n".printf(index); + msg += "<b>" + _("Clip") + "#%d</b>\n\n".printf(index); time = format_duration((long) (current_clip.StartPos * 1000.0), true); - msg += "Start Pos:\t%s = %.3f sec\n".printf(time,current_clip.StartPos); + msg += _("Start Pos") + ":\t%s = %.3f sec\n".printf(time,current_clip.StartPos); time = format_duration((long) (current_clip.EndPos * 1000.0), true); - msg += "End Pos:\t%s = %.3f sec\n".printf(time,current_clip.EndPos); + msg += _("End Pos") + ":\t%s = %.3f sec\n".printf(time,current_clip.EndPos); time = format_duration((long) (current_clip.Duration() * 1000.0), true); - msg += "Duration:\t%s = %.3f sec".printf(time,current_clip.Duration()); + msg += _("Duration") + ":\t%s = %.3f sec".printf(time,current_clip.Duration()); timeline.set_tooltip_markup(msg); } else{ @@ -692,6 +698,7 @@ return true; } + //crop private void spinCrop_value_changed_connect(){ @@ -885,6 +892,16 @@ mFile.EndPos = spinEndPos.adjustment.value; } + private void update_basic_mode_options(){ + if (action == "trim"){ + if (mFile.clip_list.size > 0){ + var clip = mFile.clip_list[0]; + mFile.StartPos = clip.StartPos; + mFile.EndPos = clip.EndPos; + } + } + } + //load file private void load_file(){
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/Utility.vala -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/Utility.vala
Changed
@@ -1041,6 +1041,20 @@ return img_icon; } + + public static int CSS_AUTO_CLASS_INDEX = 0; + public static void apply_css(Gtk.Widget widget, string css_style){ + var css_provider = new Gtk.CssProvider(); + var css = ".style_%d { %s }".printf(++CSS_AUTO_CLASS_INDEX, css_style); + try { + css_provider.load_from_data(css,-1); + } catch (GLib.Error e) { + warning(e.message); + } + + widget.get_style_context().add_provider(css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + widget.get_style_context().add_class("style_%d".printf(CSS_AUTO_CLASS_INDEX)); + } } namespace TeeJee.Multimedia{ @@ -1152,9 +1166,6 @@ return output; } - - - } namespace TeeJee.System{ @@ -1698,11 +1709,21 @@ return t.format ("%Y-%d-%m_%H-%M-%S"); } + public string to_en_us_string(double d){ + return d.to_string().replace(",",".").replace(" ",""); + } + public string format_file_size (int64 size){ /* Format file size in MB */ - - return "%0.1f MB".printf (size / (1024.0 * 1024)); + + if (size > (1024.0 * 1024)){ + return "%0.1f MB".printf (size / (1024.0 * 1024)); + } + else{ + return "%0.1f KB".printf (size / (1024.0)); + } + } public string format_duration (long millis, bool show_millis = false){
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/makefile -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/makefile
Changed
@@ -53,7 +53,9 @@ msgfmt --check --verbose -o "$(DESTDIR)$(localedir)/ko/LC_MESSAGES/${app_name}.mo" ../po/${app_name}-ko.po mkdir -p "$(DESTDIR)$(localedir)/es/LC_MESSAGES" msgfmt --check --verbose -o "$(DESTDIR)$(localedir)/es/LC_MESSAGES/${app_name}.mo" ../po/${app_name}-es.po - + mkdir -p "$(DESTDIR)$(localedir)/cs/LC_MESSAGES" + msgfmt --check --verbose -o "$(DESTDIR)$(localedir)/cs/LC_MESSAGES/${app_name}.mo" ../po/${app_name}-cs.po + uninstall: #binary rm -f "$(DESTDIR)$(bindir)/${app_name}"
View file
selene_16.2.7~261~ubuntu16.04.1.tar.xz/src/selene.desktop -> selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/selene.desktop
Changed
@@ -6,7 +6,7 @@ GenericName=Audio-Video Converter Terminal=false Icon=selene -Caption=Audio-Video Converter +Comment=Audio-Video Converter X-KDE-StartupNotify=false Categories=AudioVideo; Name[en_IN]=selene
View file
selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/share/selene/images/general.svg
Added
@@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="24" + height="24" + id="svg3879" + version="1.1" + inkscape:version="0.47 r22583" + sodipodi:docname="document-properties.svg"> + <defs + id="defs3881"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3805" + id="linearGradient3830" + x1="12" + y1="16" + x2="12" + y2="8" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3805"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop3807" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop3809" /> + </linearGradient> + <linearGradient + gradientTransform="translate(0,8)" + inkscape:collect="always" + xlink:href="#linearGradient3805" + id="linearGradient3814" + gradientUnits="userSpaceOnUse" + x1="12.47939" + y1="2" + x2="12.47939" + y2="22.006775" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5128" + id="linearGradient3610" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.15623116,0,0,0.15623125,2.0012002,10.157431)" + x1="86.132919" + y1="105.105" + x2="84.63858" + y2="20.895" /> + <linearGradient + id="linearGradient5128"> + <stop + id="stop5130" + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + <stop + id="stop5132" + style="stop-color:#959595;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3309-1" + id="linearGradient3614-2" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.77777782,0,0,0.77777782,-12.111112,-5.666669)" + x1="32.036148" + y1="19" + x2="32.036148" + y2="47.012184" /> + <linearGradient + x1="63.9995" + y1="3.1001" + x2="63.9995" + y2="122.8994" + id="linearGradient3309-1" + gradientUnits="userSpaceOnUse"> + <stop + id="stop3311-5" + style="stop-color:#f6f6f6;stop-opacity:1" + offset="0" /> + <stop + id="stop3313-0" + style="stop-color:#d2d2d2;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3397-0" + id="linearGradient3616-9" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.77777782,0,0,0.77777782,-12.111112,-5.666669)" + x1="25.922546" + y1="19" + x2="25.922546" + y2="47.044857" /> + <linearGradient + id="linearGradient3397-0"> + <stop + id="stop3399-4" + style="stop-color:#aaaaaa;stop-opacity:1" + offset="0" /> + <stop + id="stop3401-0" + style="stop-color:#8c8c8c;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient10691"> + <stop + id="stop10693" + style="stop-color:#000000;stop-opacity:1" + offset="0" /> + <stop + id="stop10695" + style="stop-color:#000000;stop-opacity:0" + offset="1" /> + </linearGradient> + <radialGradient + r="7.228416" + fy="73.615715" + fx="6.702713" + cy="73.615715" + cx="6.702713" + gradientTransform="matrix(1.6600963,0,0,0.36315008,0.8728521,2.6414479)" + gradientUnits="userSpaceOnUse" + id="radialGradient3877" + xlink:href="#linearGradient10691" + inkscape:collect="always" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="11.197802" + inkscape:cx="16" + inkscape:cy="16" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="603" + inkscape:window-height="479" + inkscape:window-x="417" + inkscape:window-y="169" + inkscape:window-maximized="0" /> + <metadata + id="metadata3884"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + transform="translate(0,-8)"> + <path + style="opacity:0.2;fill:url(#radialGradient3877);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible" + id="path10689" + d="M 23.999865,29.375 C 23.999865,30.824748 18.627342,32 12,32 5.3726571,32 1.348125e-4,30.824748 1.348125e-4,29.375 1.348125e-4,27.925253 5.3726571,26.75 12,26.75 c 6.627342,0 11.999865,1.175253 11.999865,2.625 z" /> + <path + style="color:#000000;fill:url(#linearGradient3614-2);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3616-9);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible;enable-background:accumulate" + d="m 10.5,9.5 c -0.554,0 -1,0.446 -1,1 l 0,1.375 C 8.9926705,12.030783 8.4932312,12.225474 8.03125,12.46875 L 7.0625,11.5 C 6.6707628,11.108263 6.0167372,11.108263 5.625,11.5 L 3.5,13.625 c -0.3917372,0.391737 -0.3917372,1.045763 0,1.4375 l 0.96875,0.96875 C 4.2254741,16.493231 4.0307828,16.99267 3.875,17.5 l -1.375,0 c -0.554,0 -1,0.446 -1,1 l 0,3 c 0,0.554 0.446,1 1,1 l 1.375,0 c 0.1557828,0.507329 0.3504741,1.006769 0.59375,1.46875 L 3.5,24.9375 c -0.3917372,0.391737 -0.3917372,1.045763 0,1.4375 L 5.625,28.5 c 0.3917372,0.391737 1.0457628,0.391737 1.4375,0 L 8.03125,27.53125 C 8.4932312,27.774526 8.9926705,27.969217 9.5,28.125 l 0,1.375 c 0,0.554 0.446,1 1,1 l 3,0 c 0.554,0 1,-0.446 1,-1 l 0,-1.375 c 0.507329,-0.155783 1.006769,-0.350474 1.46875,-0.59375 L 16.9375,28.5 c 0.391737,0.391737 1.045763,0.391737 1.4375,0 L 20.5,26.375 c 0.391737,-0.391737 0.391737,-1.045763 0,-1.4375 L 19.53125,23.96875 C 19.774526,23.506769 19.969217,23.007329 20.125,22.5 l 1.375,0 c 0.554,0 1,-0.446 1,-1 l 0,-3 c 0,-0.554 -0.446,-1 -1,-1 l -1.375,0 C 19.969217,16.99267 19.774526,16.493231 19.53125,16.03125 L 20.5,15.0625 c 0.391737,-0.391737 0.391737,-1.045763 0,-1.4375 L 18.375,11.5 c -0.391737,-0.391737 -1.045763,-0.391737 -1.4375,0 l -0.96875,0.96875 C 15.506769,12.225474 15.007329,12.030783 14.5,11.875 l 0,-1.375 c 0,-0.554 -0.446,-1 -1,-1 l -3,0 z m 1.5,8 c 1.380712,0 2.5,1.119288 2.5,2.5 0,1.380712 -1.119288,2.5 -2.5,2.5 -1.380712,0 -2.5,-1.119288 -2.5,-2.5 0,-1.380712 1.119288,-2.5 2.5,-2.5 z" + id="rect3623" /> + <path + style="opacity:0.05;fill:#000000;fill-opacity:1;stroke:none" + d="m 12,14 c -3.310303,0 -6,2.689698 -6,6 0,3.310302 2.689697,6 6,6 3.310301,0 6,-2.689698 6,-6 0,-3.310302 -2.689699,-6 -6,-6 z m 0,3 c 1.656854,0 3,1.343146 3,3 0,1.656854 -1.343146,3 -3,3 -1.656854,0 -3,-1.343146 -3,-3 0,-1.656854 1.343146,-3 3,-3 z" + id="path3315" /> + <path + style="fill:none;stroke:url(#linearGradient3610);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" + id="path28" + d="m 12,13.499999 c -3.5841018,0 -6.5,2.9159 -6.5,6.499999 C 5.5,23.5841 8.4158982,26.5 12,26.5 c 3.584101,0 6.5,-2.9159 6.5,-6.500002 0,-3.584099 -2.915899,-6.499999 -6.5,-6.499999 z" /> + <path + style="opacity:0.8;color:#000000;fill:none;stroke:url(#linearGradient3814);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible;enable-background:accumulate" + d="m 10.5,10.46875 c -0.07417,0.388719 -0.0095,0.901108 -0.03125,1.336433 0.06469,0.778079 -0.7702767,1.052854 -1.3682852,1.21661 -0.5470235,0.311236 -1.3489947,0.671898 -1.8369673,0.0542 C 6.9673317,12.779832 6.6711658,12.483666 6.375,12.1875 5.9432707,12.474172 5.5902425,12.950845 5.1889654,13.311035 4.8695012,13.671637 4.4334278,13.983938 4.1875,14.375 c 0.4070204,0.490131 1.0485159,0.837591 1.225798,1.476969 -0.024664,0.798464 -0.5401599,1.529218 -0.8123879,2.267025 -0.5018209,0.56435 -1.3150413,0.280668 -1.9743456,0.349756 -0.3445673,-0.01288 -0.070329,0.586347 -0.1578145,0.825709 0.00121,0.744981 -0.0024,1.490108 0.00179,2.234998 0.6455598,0.06419 1.3569859,-0.150581 1.9454937,0.179668 0.5556121,0.579212 0.6756354,1.474124 1.0067725,2.188766 0.04177,0.75274 -0.7323134,1.126431 -1.1493366,1.641136 -0.2173877,0.272406 0.385277,0.504146 0.5159207,0.750367 0.5077022,0.507702 1.0154043,1.015404 1.5231065,1.523106 0.5224633,-0.304869 0.8397278,-0.98896 1.4454346,-1.204942 0.8151392,-0.106648 1.5136871,0.546448 2.2838276,0.733976 0.650694,0.452082 0.363529,1.310427 0.426988,1.975154 -0.08851,0.418476 0.527859,0.12987 0.768962,0.214562 0.763896,-0.0012 1.527939,0.0024 2.291745,-0.0018 0.06419,-0.64556 -0.150581,-1.356986 0.179668,-1.945494 0.579212,-0.555612 1.474124,-0.675635 2.188766,-1.006772 0.75274,-0.04177 1.126431,0.732313 1.641136,1.149336 0.272406,0.217388 0.504146,-0.385277 0.750367,-0.515921 0.507702,-0.507702 1.015404,-1.015404 1.523106,-1.523106 -0.304869,-0.522463 -0.98896,-0.839728 -1.204942,-1.445435 -0.106648,-0.815139 0.546448,-1.513687 0.733976,-2.283827 0.452082,-0.650694 1.310427,-0.363529 1.975154,-0.426988 0.418476,0.08851 0.12987,-0.527859 0.214562,-0.768962 -0.0012,-0.763896 0.0024,-1.527939 -0.0018,-2.291745 -0.64556,-0.06419 -1.356986,0.150581 -1.945494,-0.179668 -0.555602,-0.579205 -0.675625,-1.474117 -1.006762,-2.188759 -0.04177,-0.75274 0.732313,-1.126431 1.149336,-1.641136 0.217388,-0.272406 -0.385277,-0.504146 -0.515921,-0.750366 -0.507702,-0.507703 -1.015404,-1.015405 -1.523106,-1.523107 -0.522463,0.304869 -0.839728,0.98896 -1.445435,1.204942 -0.815139,0.106648 -1.513687,-0.546448 -2.283827,-0.733976 -0.650694,-0.452082 -0.363529,-1.310427 -0.426988,-1.975154 0.08851,-0.418476 -0.527859,-0.12987 -0.768962,-0.214562 -0.754096,0 -1.508192,0 -2.262288,0 z" + id="path3799" + sodipodi:nodetypes="ccccccccccccccscccccccccscccccccccsccccccc" />
View file
selene_16.3.3~280~ubuntu16.04.1.tar.xz/src/share/selene/images/subs.svg
Added
@@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + version="1.0" + width="24" + height="24" + id="svg2622"> + <defs + id="defs2624"> + <linearGradient + id="linearGradient5048"> + <stop + id="stop5050" + style="stop-color:#000000;stop-opacity:0" + offset="0" /> + <stop + id="stop5056" + style="stop-color:#000000;stop-opacity:1" + offset="0.5" /> + <stop + id="stop5052" + style="stop-color:#000000;stop-opacity:0" + offset="1" /> + </linearGradient> + <linearGradient + x1="302.85715" + y1="366.64789" + x2="302.85715" + y2="609.50507" + id="linearGradient2616" + xlink:href="#linearGradient5048" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.0352071,0,0,0.00823529,-0.724852,18.980551)" /> + <radialGradient + cx="605.71429" + cy="486.64789" + r="117.14286" + fx="605.71429" + fy="486.64789" + id="radialGradient2613" + xlink:href="#linearGradient5060" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.01204859,0,0,0.00823529,10.761206,18.980568)" /> + <linearGradient + id="linearGradient5060"> + <stop + id="stop5062" + style="stop-color:#000000;stop-opacity:1" + offset="0" /> + <stop + id="stop5064" + style="stop-color:#000000;stop-opacity:0" + offset="1" /> + </linearGradient> + <radialGradient + cx="605.71429" + cy="486.64789" + r="117.14286" + fx="605.71429" + fy="486.64789" + id="radialGradient2610" + xlink:href="#linearGradient5060" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.01204859,0,0,0.00823529,13.238794,18.980568)" /> + <linearGradient + x1="-51.786404" + y1="50.786446" + x2="-51.786404" + y2="2.9062471" + id="linearGradient2607" + xlink:href="#linearGradient3104" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.3922135,0,0,0.4473607,29.199293,-1.2386997)" /> + <linearGradient + id="linearGradient3600"> + <stop + id="stop3602" + style="stop-color:#f4f4f4;stop-opacity:1" + offset="0" /> + <stop + id="stop3604" + style="stop-color:#dbdbdb;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="25.132275" + y1="0.98520643" + x2="25.132275" + y2="47.013336" + id="linearGradient2605" + xlink:href="#linearGradient3600" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4857154,0,0,0.4780255,0.3428305,-0.7059501)" /> + <linearGradient + id="linearGradient3211"> + <stop + id="stop3213" + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + <stop + id="stop3215" + style="stop-color:#ffffff;stop-opacity:0" + offset="1" /> + </linearGradient> + <linearGradient + x1="24" + y1="1.9999999" + x2="24" + y2="46.01725" + id="linearGradient2599" + xlink:href="#linearGradient3211" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4545444,0,0,0.4651153,1.0909345,0.3372293)" /> + <linearGradient + id="linearGradient3104"> + <stop + id="stop3106" + style="stop-color:#aaaaaa;stop-opacity:1" + offset="0" /> + <stop + id="stop3108" + style="stop-color:#c8c8c8;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient8589"> + <stop + id="stop8591" + style="stop-color:#fefefe;stop-opacity:1" + offset="0" /> + <stop + id="stop8593" + style="stop-color:#cbcbcb;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="32.892288" + y1="8.0590115" + x2="36.358372" + y2="5.4565363" + id="linearGradient2595" + xlink:href="#linearGradient8589" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4778466,0,0,0.5524833,0.3722548,-0.0761283)" /> + </defs> + <g + id="layer1"> + <rect + width="17" + height="1.9999981" + x="3.5000005" + y="21.999998" + id="rect2879" + style="opacity:0.15;fill:url(#linearGradient2616);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" /> + <path + d="m 3.5,22.000086 c 0,0 0,1.999889 0,1.999889 C 2.8795275,24.00374 2,23.551901 2,22.999901 2,22.447902 2.6924,22.000086 3.5,22.000086 z" + id="path2881" + style="opacity:0.15;fill:url(#radialGradient2613);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" /> + <path + d="m 20.5,22.000086 c 0,0 0,1.999889 0,1.999889 0.620472,0.0038 1.5,-0.448074 1.5,-1.000074 0,-0.551999 -0.692401,-0.999815 -1.5,-0.999815 z" + id="path2883" + style="opacity:0.15;fill:url(#radialGradient2610);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" /> + <path + d="m 3.4999617,0.49996097 c 3.8955799,0 7.6044553,0 11.5000383,0 C 15.683368,0.73725787 19.541325,3.628131 20.5,5.5 c 0,5.729157 3.9e-5,11.270881 3.9e-5,17.000039 -5.666693,0 -11.3333845,0 -17.0000773,0 0,-7.33336 0,-14.6667201 0,-22.00007803 z" + id="path4160" + style="fill:url(#linearGradient2605);fill-opacity:1;stroke:url(#linearGradient2607);stroke-width:0.99992162;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" /> + <path + d="m 19.500001,5.6770357 c 0,5.2083053 0,10.6146573 0,15.8229643 -5,0 -9.9999998,0 -15.000001,0 0,-6.66667 0,-13.3333343 0,-20.0000001 3.4372614,0 6.956499,0 10.393761,0" + id="path2435" + style="opacity:0.6;fill:none;stroke:url(#linearGradient2599);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" /> + <path + d="m 6,4.5050062 2.34375,0 -2.34375,0 z m 2.6875,0 2.1875,0 -2.1875,0 z m 2.53125,0 1.9375,0 -1.9375,0 z m 2.25,0 0.84375,0 -0.84375,0 z m 1.1875,0 0,0 z m -8.65625,2 3.65625,0 -3.65625,0 z m 4.0625,0 1.75,0 -1.75,0 z m 2.0625,0 0.875,0 -0.875,0 z m 1.21875,0 1.59375,0 -1.59375,0 z m 1.9375,0 1.625,0 -1.625,0 z M 6,8.5350541 l 1.59375,0 -1.59375,0 z m 2.09375,0 5.90625,0 -5.90625,0 z M 6,11.5 9.09375,11.5 6,11.5 z m 3.40625,0 5.0625,0 -5.0625,0 z m 5.375,0 2.46875,0 -2.46875,0 z M 6,13.5 8.34375,13.5 6,13.5 z m 2.6875,0 2.15625,0 -2.15625,0 z m 2.53125,0 1.9375,0 -1.9375,0 z m 2.25,0 0.84375,0 -0.84375,0 z m 1.1875,0 1.875,0 -1.875,0 z M 6,16.5 9.09375,16.5 6,16.5 z m 3.40625,0 5.0625,0 -5.0625,0 z m 5.375,0 2.46875,0 -2.46875,0 z M 6,18.5 9.8750002,18.5 6,18.5 z m 4.21875,0 1.75,0 -1.75,0 z m 2.0625,0 2.75,0 -2.75,0 z" + id="path2590" + style="fill:none;stroke:#aaaaaa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + d="m 14.075474,1 c 1.156303,0.3287671 0.339059,4.6143789 0.339059,4.6143789 0,0 4.515388,-0.4277362 5.60771,1.1949961 C 21.511396,9.0216317 19.954018,6.1742029 19.848796,5.9876778 19.092868,4.6476323 15.982456,1.4405918 14.803387,1.0464703 14.715155,1.0169778 14.519511,1 14.075474,1 z" + id="path3370" + style="fill:#c0c0c0;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" /> + <path + d="m 14,1 c 1.526166,0 1,4 1,4 0,0 4.992074,-0.45326 4.992074,2 0,-0.5977419 0.05575,-1.4784338 -0.06407,-1.6559326 C 19.088897,4.1010616 16.184239,1.4821803 15.129935,1.0464703 15.043957,1.0109384 14.444037,1 14,1 z" + id="path4474" + style="fill:url(#linearGradient2595);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" /> + </g> +</svg>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.