Projects
Multimedia
selene
Sign Up
Log In
Username
Password
Error getting diff: bad link: openSUSE.org:X11:lxde/deadbeef: remote error: package 'deadbeef' does not exist
×
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
.