diff --git a/.gitignore b/.gitignore index 3b86494c..acd218ff 100644 --- a/.gitignore +++ b/.gitignore @@ -217,6 +217,8 @@ $RECYCLE.BIN/ build installer/*.mp3 installer/*.dll +prerequisite/linux/ +prerequisite/windows/ references/*.dll prerequisite/windows/*.dll prerequisite/windows/*.exe diff --git a/compile.cmd b/compile.cmd index ffa38fa6..298015a0 100644 --- a/compile.cmd +++ b/compile.cmd @@ -42,13 +42,8 @@ echo COPY IFME MAIN FILE mkdir %BUILDDIR%\benchmark robocopy ifme\bin\%CompileMode%\extension %BUILDDIR%\extension /E robocopy ifme\bin\%CompileMode%\lang %BUILDDIR%\lang /E -robocopy ifme\bin\%CompileMode%\plugins\avisynth %BUILDDIR%\plugins\avisynth /E -robocopy ifme\bin\%CompileMode%\plugins\faac %BUILDDIR%\plugins\faac /E -robocopy ifme\bin\%CompileMode%\plugins\mp4fpsmod %BUILDDIR%\plugins\mp4fpsmod /E -robocopy ifme\bin\%CompileMode%\plugins\opus %BUILDDIR%\plugins\opus /E robocopy ifme\bin\%CompileMode%\profile %BUILDDIR%\profile /E robocopy ifme\bin\%CompileMode%\sounds %BUILDDIR%\sounds /E -copy ifme\bin\%CompileMode%\7za.exe %BUILDDIR% copy ifme\bin\%CompileMode%\addons_linux32.repo %BUILDDIR% copy ifme\bin\%CompileMode%\addons_linux64.repo %BUILDDIR% copy ifme\bin\%CompileMode%\addons_windows32.repo %BUILDDIR% @@ -83,11 +78,13 @@ echo CLEAN UP del /f /s /q %BUILDDIR%\*.ifz echo Next... Making packaging (.7z). Get ready first -pause +timeout /t 3 >nul + + echo PACKAGING ren %BUILDDIR% ifme5 -"%PROGRAMFILES%\7-Zip\7z.exe" a -r -t7z -mx=9 -ms=on ifme5.7z ifme5 +"%PROGRAMFILES%\7-Zip\7z.exe" a -r -t7z -mx=9 -ms=on ifme5-x64.7z ifme5 ren ifme5 %BUILDDIR% echo. diff --git a/ifme/Language.cs b/ifme/Language.cs index e13d958e..22b9e406 100644 --- a/ifme/Language.cs +++ b/ifme/Language.cs @@ -11,6 +11,8 @@ public class Language { public string Code; public string Name; + public string Author; + public string Contact; // No shorting, gonna use foreach that equal index of Combobox public static List Lists = new List(); @@ -20,7 +22,12 @@ public static void Display() foreach (var item in Directory.GetFiles(Global.Folder.Language, "*.ini")) { var data = new FileIniDataParser().ReadFile(item, Encoding.UTF8); - Lists.Add(new Language() { Code = data["info"]["Code"], Name = data["info"]["Name"] }); + Lists.Add(new Language() { + Code = data["info"]["Code"], + Name = data["info"]["Name"], + Author = data["info"]["Author"], + Contact = data["info"]["Contact"] + }); } } diff --git a/ifme/Program.cs b/ifme/Program.cs index 8cc9ffac..a331d5e1 100644 --- a/ifme/Program.cs +++ b/ifme/Program.cs @@ -30,11 +30,8 @@ static int Main(string[] args) return 0; // Make WinForms much pretty - if (OS.IsWindows) - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - } + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); // Splash Screen, loading and update SplashScreen(); diff --git a/ifme/Properties/AssemblyInfo.cs b/ifme/Properties/AssemblyInfo.cs index 8f46612b..23e5d5a8 100644 --- a/ifme/Properties/AssemblyInfo.cs +++ b/ifme/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("5.0.*")] -[assembly: AssemblyFileVersion("5.0.8")] +[assembly: AssemblyFileVersion("5.0.9")] [assembly: NeutralResourcesLanguageAttribute("en")] diff --git a/ifme/Properties/Resources.Designer.cs b/ifme/Properties/Resources.Designer.cs index 24bb54e1..415497c6 100644 --- a/ifme/Properties/Resources.Designer.cs +++ b/ifme/Properties/Resources.Designer.cs @@ -402,6 +402,26 @@ internal static string Tags { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap user { + get { + object obj = ResourceManager.GetObject("user", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap world { + get { + object obj = ResourceManager.GetObject("world", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/ifme/Properties/Resources.resx b/ifme/Properties/Resources.resx index e5792340..ce33aa04 100644 --- a/ifme/Properties/Resources.resx +++ b/ifme/Properties/Resources.resx @@ -233,4 +233,10 @@ ..\Resources\server_lightning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\user.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\world.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/ifme/Resources/user.png b/ifme/Resources/user.png new file mode 100644 index 00000000..79f35ccb Binary files /dev/null and b/ifme/Resources/user.png differ diff --git a/ifme/Resources/world.png b/ifme/Resources/world.png new file mode 100644 index 00000000..68f21d30 Binary files /dev/null and b/ifme/Resources/world.png differ diff --git a/ifme/frmOption.Designer.cs b/ifme/frmOption.Designer.cs index 49e3e050..8fdc6a15 100644 --- a/ifme/frmOption.Designer.cs +++ b/ifme/frmOption.Designer.cs @@ -40,6 +40,8 @@ private void InitializeComponent() this.btnBrowse = new System.Windows.Forms.Button(); this.txtTempFolder = new System.Windows.Forms.TextBox(); this.grpLanguage = new System.Windows.Forms.GroupBox(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.lblLangWho = new System.Windows.Forms.Label(); this.cboLang = new System.Windows.Forms.ComboBox(); this.tabDefault = new System.Windows.Forms.TabPage(); this.grpBenchmark = new System.Windows.Forms.GroupBox(); @@ -90,12 +92,15 @@ private void InitializeComponent() this.btnCancel = new System.Windows.Forms.Button(); this.btnOK = new System.Windows.Forms.Button(); this.lblInfoRestart = new System.Windows.Forms.Label(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.lblLangWhoWeb = new System.Windows.Forms.Label(); this.tabControl1.SuspendLayout(); this.tabGeneral.SuspendLayout(); this.grpSound.SuspendLayout(); this.grpNaming.SuspendLayout(); this.grpTempFolder.SuspendLayout(); this.grpLanguage.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.tabDefault.SuspendLayout(); this.grpBenchmark.SuspendLayout(); this.grpEditor.SuspendLayout(); @@ -112,6 +117,7 @@ private void InitializeComponent() this.cmsExtension.SuspendLayout(); this.tabProfile.SuspendLayout(); this.cmsProfile.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); this.SuspendLayout(); // // tabControl1 @@ -150,7 +156,7 @@ private void InitializeComponent() // chkReset // this.chkReset.AutoSize = true; - this.chkReset.Location = new System.Drawing.Point(6, 322); + this.chkReset.Location = new System.Drawing.Point(6, 340); this.chkReset.Name = "chkReset"; this.chkReset.Size = new System.Drawing.Size(273, 17); this.chkReset.TabIndex = 4; @@ -161,7 +167,7 @@ private void InitializeComponent() // this.grpSound.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.grpSound.Controls.Add(this.chkSoundDone); - this.grpSound.Location = new System.Drawing.Point(299, 218); + this.grpSound.Location = new System.Drawing.Point(299, 254); this.grpSound.Name = "grpSound"; this.grpSound.Size = new System.Drawing.Size(287, 80); this.grpSound.TabIndex = 3; @@ -183,7 +189,7 @@ private void InitializeComponent() // grpNaming // this.grpNaming.Controls.Add(this.txtNamePrefix); - this.grpNaming.Location = new System.Drawing.Point(6, 218); + this.grpNaming.Location = new System.Drawing.Point(6, 254); this.grpNaming.Name = "grpNaming"; this.grpNaming.Size = new System.Drawing.Size(287, 80); this.grpNaming.TabIndex = 2; @@ -205,7 +211,7 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.grpTempFolder.Controls.Add(this.btnBrowse); this.grpTempFolder.Controls.Add(this.txtTempFolder); - this.grpTempFolder.Location = new System.Drawing.Point(6, 112); + this.grpTempFolder.Location = new System.Drawing.Point(6, 148); this.grpTempFolder.Name = "grpTempFolder"; this.grpTempFolder.Size = new System.Drawing.Size(580, 100); this.grpTempFolder.TabIndex = 1; @@ -237,14 +243,35 @@ private void InitializeComponent() // this.grpLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.grpLanguage.Controls.Add(this.lblLangWhoWeb); + this.grpLanguage.Controls.Add(this.pictureBox2); + this.grpLanguage.Controls.Add(this.pictureBox1); + this.grpLanguage.Controls.Add(this.lblLangWho); this.grpLanguage.Controls.Add(this.cboLang); this.grpLanguage.Location = new System.Drawing.Point(6, 6); this.grpLanguage.Name = "grpLanguage"; - this.grpLanguage.Size = new System.Drawing.Size(580, 100); + this.grpLanguage.Size = new System.Drawing.Size(580, 136); this.grpLanguage.TabIndex = 0; this.grpLanguage.TabStop = false; this.grpLanguage.Text = "&Language*"; // + // pictureBox1 + // + this.pictureBox1.Image = global::ifme.Properties.Resources.user; + this.pictureBox1.Location = new System.Drawing.Point(75, 72); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(16, 16); + this.pictureBox1.TabIndex = 2; + this.pictureBox1.TabStop = false; + // + // lblLangWho + // + this.lblLangWho.Location = new System.Drawing.Point(97, 72); + this.lblLangWho.Name = "lblLangWho"; + this.lblLangWho.Size = new System.Drawing.Size(408, 16); + this.lblLangWho.TabIndex = 1; + this.lblLangWho.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // cboLang // this.cboLang.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -256,6 +283,7 @@ private void InitializeComponent() this.cboLang.Name = "cboLang"; this.cboLang.Size = new System.Drawing.Size(430, 24); this.cboLang.TabIndex = 0; + this.cboLang.SelectedIndexChanged += new System.EventHandler(this.cboLang_SelectedIndexChanged); // // tabDefault // @@ -751,6 +779,23 @@ private void InitializeComponent() this.lblInfoRestart.TabIndex = 4; this.lblInfoRestart.Text = "* is require restart application"; // + // pictureBox2 + // + this.pictureBox2.Image = global::ifme.Properties.Resources.world; + this.pictureBox2.Location = new System.Drawing.Point(75, 94); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(16, 16); + this.pictureBox2.TabIndex = 3; + this.pictureBox2.TabStop = false; + // + // lblLangWhoWeb + // + this.lblLangWhoWeb.Location = new System.Drawing.Point(97, 94); + this.lblLangWhoWeb.Name = "lblLangWhoWeb"; + this.lblLangWhoWeb.Size = new System.Drawing.Size(408, 16); + this.lblLangWhoWeb.TabIndex = 4; + this.lblLangWhoWeb.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // frmOption // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); @@ -777,6 +822,7 @@ private void InitializeComponent() this.grpTempFolder.ResumeLayout(false); this.grpTempFolder.PerformLayout(); this.grpLanguage.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.tabDefault.ResumeLayout(false); this.grpBenchmark.ResumeLayout(false); this.grpEditor.ResumeLayout(false); @@ -795,6 +841,7 @@ private void InitializeComponent() this.cmsExtension.ResumeLayout(false); this.tabProfile.ResumeLayout(false); this.cmsProfile.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -863,5 +910,9 @@ private void InitializeComponent() private System.Windows.Forms.GroupBox grpAvsDefaults; private System.Windows.Forms.TextBox txtAvsDecoder; private System.Windows.Forms.CheckBox chkReset; + private System.Windows.Forms.Label lblLangWho; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.PictureBox pictureBox2; + private System.Windows.Forms.Label lblLangWhoWeb; } } \ No newline at end of file diff --git a/ifme/frmOption.cs b/ifme/frmOption.cs index 32316a39..0270422d 100644 --- a/ifme/frmOption.cs +++ b/ifme/frmOption.cs @@ -168,6 +168,15 @@ private void frmOption_Load(object sender, EventArgs e) } } + private void cboLang_SelectedIndexChanged(object sender, EventArgs e) + { + if (cboLang.SelectedIndex >= 0) + { + lblLangWho.Text = Language.Lists[cboLang.SelectedIndex].Author; + lblLangWhoWeb.Text = Language.Lists[cboLang.SelectedIndex].Contact; + } + } + private void btnBrowse_Click(object sender, EventArgs e) { FolderBrowserDialog GetFolder = new FolderBrowserDialog(); diff --git a/ifme/ifme.csproj b/ifme/ifme.csproj index 9b642e39..d714b38d 100644 --- a/ifme/ifme.csproj +++ b/ifme/ifme.csproj @@ -160,6 +160,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -230,6 +233,8 @@ + + PreserveNewest diff --git a/ifme/lang/cs.ini b/ifme/lang/cs.ini new file mode 100644 index 00000000..24f9cc82 --- /dev/null +++ b/ifme/lang/cs.ini @@ -0,0 +1,138 @@ +[info] +Code = cs +Name = Čeština +Author = Kyborek +Version = 5.0.8 +Contact = https://github.com/kyborek +Comment = Please refer IETF Language Tag here: http://www.i18nguy.com/unicode/language-identifiers.html + +[frmMain] +chkShutdown = Vypnou&t počítač po dokončení práce +tabPicture = Obrázek +grpPictureFormat = F&ormát +rdoMKV = M&KV +rdoMP4 = MP&4 +grpPictureBasic = Základní (&s) +lblPictureRes = &Rozlišení: +lblPictureFps = Snímky za sekundu (&FPS): +grpPictureQuality = Kvalita (&Q) +lblPictureBit = &Bitová hloubka: +lblPictureYuv = &Chroma subsampling: +chkPictureYadif = Deinterlace (&yadif) +lblPictureYadifMode = &Mód: +lblPictureYadifField = Pol&e: +lblPictureYadifFlag = Fl&ag: +tabVideo = Video +grpVideoBasic = Základní (&B) +lblVideoPreset = Předvolba (&s): +lblVideoTune = Doladění (&T): +grpVideoRateCtrl = Řízení &rychlosti +lblVideoRateValue = &Faktor rychlosti +lblVideoRateH = Vysoká kvalita\nVelký soubor +lblVideoRateL = Nízká kvalita\nMalý soubor +lblVideoCmd = Param&etry příkazového řádku: +tabAudio = Zvuk +grpAudioBasic = Základní (&B) +lblAudioEncoder = &Encoder: +lblAudioBit = &Bit rate/úroveň: +lblAudioFreq = &Frekvence: +lblAudioChannel = Kanál (&C): +chkAudioMerge = (&C)Zkompilovat všechny kanály do jednoho streamu (nelze pro Passthrough) +lblAudioCmd = Param&etry příkazového řádku: +tabSubtitles = Titulky +chkSubEnable = Zapnout (&E) +lblSubLang = Jazyk (&L): +lblSubNote = Tato záložka umožňuje přidat titulky pro každé vybrané video\nVýše klikněte "Zapnout" čimž začnete přidávat titulky\n(Zabudované titulky budou ignorovány) +tabAttachments = Přílohy +chkAttachEnable = Zapnout (&E) +lblAttachDescription = Popis (&D): +lblAttachNote = Tato záložka umožňuje přidat přílohy pro každé vybrané video\nVýše klikněte "Zapnout" čimž začnete přidávat přílohy\n(Zabudované přílohy budou ignorovány) +tabLogs = Záznamy +lblProfiles = &Profily: +lblDestination = Cílové umístění (&D): +tsmiQueuePreview = Náhled (&P) +tsmiBenchmark = &Benchmark +tsmiQueueNew = &Nová fronta +tsmiQueueOpen = &Otevřít frontu +tsmiQueueSave = Uložit frontu (&S) +tsmiQueueSaveAs = Uložit frontu jako... +tsmiQueueSelectAll = Vybr&at vše +tsmiQueueSelectNone = Zrušit výběr (&e) +tsmiQueueSelectInvert = &Invertovat výběr +tsmiQueueAviSynth = A&viSynth +tsmiQueueAviSynthEdit = Upravit skript (&e) +tsmiQueueAviSynthGenerate = Vygenerovat jednoduchý AviSynth &skript +colQueueName = Název +colQueueSize = Velikost +colQueueType = Typ +colQueueTo = Do +colQueueStatus = Stav +colSubFile = Název +colSubLang = Jazyk +colAttachName = Název +colAttachMime = MIME +colAttachDescription = Popis +BenchmarkDownload = Soubor neexistuje, máme ho stáhnout před začátkem? +BenchmarkNoFile = Žádný video soubor nevybrán, použít RAW 4K video pro benchmark? +NotSupported = Tento formát nebyl podporován danou funkcí +OneItem = Prosím vyberte jednu položku +OneVideo = Prosím vyberte jedno video +SaveNewProfilesInfo = Prosím zadejte jméno nového profilu +SaveNewProfilesTitle = uložit nový profil +SelectAviSynth = Toto není AviSynth skript +SelectNotAviSynth = Prosím vyberte video, nikoliv AviSynth skript +SelectOneVideoAttch = Prosím vyberte jedno video než odstraníte přílohu +SelectOneVideoPreview = Prosím vyberte pouze jedno video pro náhled +SelectOneVideoSubtitle = Prosím vyberte jedno video než odstraníte titulky +VideoToAviSynth = Chcete změni vybraný soubor na AviSynth skript\n(používá se pro obejití FFmpeg dekoderu, nepodporovaný soubor bude přeskočen) +QueueSave = Chcete uložit tuto frontu? Můžete jí otevřít příště nebo v příkazovém řádku. +QueueSaveError = Ve frontě musí být alespoň dvě položky +QueueOpenChange = Chcete uložit změny v nepojmenovaném souboru? +Quit = Chcete odejít a uložit tuto frontu? + +[frmOption] +tabGeneral = Obecné +grpLanguage = Jazyk* (&L) +grpTempFolder = Dočasný adresář (&Temp) +grpNaming = &Prefixové pojmenovávání +grpSound = Upozornění (&N) +chkSoundDone = Upozornit zvukem &po dokončení +chkReset = V&rátit všechny nastavení do původních hodnot* +tabPerformance = Výkon +grpProcessor = Procesor +lblCPUPriority = CPU &Priorita: +lblCPUCores = &CPU Jádra: +grpCompiler = Kompilátor +rdoCompilerGCC = &GNU GCC +rdoCompilerIntel = &Intel C Kompilátor +rdoCompilerMicrosoft = &Microsoft Visual C Kompilátor +tabAviSynth = AviSynth +grpStatus = &Stav +lblAviSynthStatus = Není +grpAvsDefaults = Výchozí filtry zdroje +grpMKV = &MKV +chkCopyContentMKV = (&C)Kopírovat výchozí titulky, přílohy a kapitoly do nového MKV. +tabPlugin = Pluginy +tabProfile = Profil +tabExtension = Rozšíření +tabDefault = Výchozí +grpEditor = &Editor +grpBenchmark = &Benchmark +btnOK = &OK +btnCancel = &Zrušit +lblInfoRestart = * vyžaduje restart aplikace +VisitWeb = Navštivte naše &WWW +colPluginName = Název +colPluginVersion = Verze +colPluginDev = Vývojář +colPluginProvider = Poskytovatel +colExtensionName = Název +colExtensionType = Typ +colExtensionVersion = Verze +colExtensionDev = Vývojář +colProfileName = Název +colProfileFormat = Formát +colProfilePlatform = Platforma +colProfileAuthor = Autor +Installed = Nainstalováno +NotInstalled = Nenalezeno diff --git a/ifme/lang/en.ini b/ifme/lang/en.ini index 0552c8d4..0dd96f3d 100644 --- a/ifme/lang/en.ini +++ b/ifme/lang/en.ini @@ -111,7 +111,7 @@ grpStatus = &Status lblAviSynthStatus = Nope grpAvsDefaults = &Default Source Filters grpMKV = &MKV -chkCopyContentMKV = &Copy embeded subtitle, attachment and chapter to new MKV. +chkCopyContentMKV = &Copy embedded subtitle, attachment and chapter to new MKV. tabPlugin = Plugins tabProfile = Profile tabExtension = Extension diff --git a/ifme/lang/en.zip b/ifme/lang/en.zip deleted file mode 100644 index d8839eb3..00000000 Binary files a/ifme/lang/en.zip and /dev/null differ diff --git a/installer.iss b/installer.iss index f4458f2a..e75927e7 100644 --- a/installer.iss +++ b/installer.iss @@ -2,14 +2,11 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Internet Friendly Media Encoder" -#define MyAppVersion "5.0.8.0" +#define MyAppVersion "5.0.9.0" #define MyAppPublisher "Anime4000" #define MyAppURL "https://x265.github.io/" #define MyAppExeName "ifme.exe" -; 32bit or 64bit release -#define Public BIT64 - [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. @@ -22,18 +19,10 @@ AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} -;DefaultDirName={pf64}\{#MyAppName} +DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} AllowNoIcons=yes - -#ifdef BIT64 - #define CPU "x64" - DefaultDirName={pf64}\{#MyAppName} - ArchitecturesInstallIn64BitMode=x64 -#else - DefaultDirName={pf}\{#MyAppName} - #define CPU "x86" -#endif +ArchitecturesInstallIn64BitMode=x64 SourceDir=build LicenseFile=..\license.txt @@ -48,7 +37,9 @@ WizardImageFile=..\installer\image_banner.bmp WizardSmallImageFile=..\installer\image_small.bmp OutputDir=D:\ -OutputBaseFilename=ifme-{#MyAppVersion}-{#CPU}_setup +OutputBaseFilename=ifme-{#MyAppVersion}-x86x64_setup + +Uninstallable=not IsTaskSelected('portablemode') [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" @@ -56,16 +47,46 @@ Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce +Name: portablemode; Description: "Portable Mode"; Flags: unchecked [Files] Source: "*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs + +Source: "..\prerequisite\windows\32bit\7za.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\MediaInfo.dll"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode + +Source: "..\prerequisite\windows\64bit\7za.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\MediaInfo.dll"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode + +Source: "..\prerequisite\windows\32bit\plugins\avisynth\*"; DestDir: "{app}\plugins\avisynth"; Flags: ignoreversion +Source: "..\prerequisite\windows\32bit\plugins\faac\*"; DestDir: "{app}\plugins\faac"; Flags: ignoreversion +Source: "..\prerequisite\windows\32bit\plugins\mp4fpsmod\*"; DestDir: "{app}\plugins\mp4fpsmod"; Flags: ignoreversion +Source: "..\prerequisite\windows\32bit\plugins\opus\*"; DestDir: "{app}\plugins\opus"; Flags: ignoreversion + +Source: "..\prerequisite\windows\32bit\plugins\ffmpeg\*"; DestDir: "{app}\plugins\ffmpeg"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\ffmsindex\*"; DestDir: "{app}\plugins\ffmsindex"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\flac\*"; DestDir: "{app}\plugins\flac"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\mkvtool\*"; DestDir: "{app}\plugins\mkvtool"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\mp4box\*"; DestDir: "{app}\plugins\mp4box"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\ogg\*"; DestDir: "{app}\plugins\ogg"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\prerequisite\windows\32bit\plugins\x265msvc\*"; DestDir: "{app}\plugins\x265msvc"; Flags: ignoreversion; Check: not Is64BitInstallMode + +Source: "..\prerequisite\windows\64bit\plugins\ffmpeg\*"; DestDir: "{app}\plugins\ffmpeg"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\ffmsindex\*"; DestDir: "{app}\plugins\ffmsindex"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\flac\*"; DestDir: "{app}\plugins\flac"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\mkvtool\*"; DestDir: "{app}\plugins\mkvtool"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\mp4box\*"; DestDir: "{app}\plugins\mp4box"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\ogg\*"; DestDir: "{app}\plugins\ogg"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\x265gcc\*"; DestDir: "{app}\plugins\x265gcc"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\x265icc\*"; DestDir: "{app}\plugins\x265icc"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\prerequisite\windows\64bit\plugins\x265msvc\*"; DestDir: "{app}\plugins\x265msvc"; Flags: ignoreversion; Check: Is64BitInstallMode ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Comment: "x265 GUI Encoder with Internet Friendly Media Encoder!"; Tasks: desktopicon +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Comment: "Open a powerful x265 GUI Encoder"; Tasks: desktopicon Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Comment: "x265 GUI Encoder with Internet Friendly Media Encoder!" -Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" -Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" +Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; Comment: "Visit Internet Friendly Media Encoder!" +Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; Comment: "Remove Internet Friendly Media Encoder, but please :( try contact me, I'll try to fix!" [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent diff --git a/prerequisite/deploy.cmd b/prerequisite/deploy.cmd new file mode 100644 index 00000000..2334efda --- /dev/null +++ b/prerequisite/deploy.cmd @@ -0,0 +1,99 @@ +@echo off +@title Deploy requirement +cd %~dp0 + +SET UNPACK=%PROGRAMFILES%\7-Zip\7z.exe +SET WGET64=%SYSTEMROOT%\SysWOW64\wget.exe +SET WGET32=%SYSTEMROOT%\System32\wget.exe + +echo Creating folders +mkdir windows\32bit\plugins\ +mkdir windows\64bit\plugins\ + +IF DEFINED ProgramFiles(x86) ( + goto BIT64 +) ELSE ( + goto BIT32 +) +pause + +:DONE +for /r "%~dp0\windows\32bit\plugins" %%i in (*.ifx) do "%UNPACK%" x "%%i" -y -o"%%~dpi" +for /r "%~dp0\windows\64bit\plugins" %%i in (*.ifx) do "%UNPACK%" x "%%i" -y -o"%%~dpi" + +echo Done! +pause +exit 0 + +:BIT64 +echo Detected 64bit + +echo Checking %WGET64% +IF EXIST %WGET64% ( + echo %WGET64% found! +) ELSE ( + echo %WGET64% not found :( + pause + exit 1 +) + +echo Checking %UNPACK% +IF EXIST %UNPACK% ( + echo %UNPACK% found! +) ELSE ( + echo %UNPACK% not found :( + pause + exit 1 +) + +goto DOWNLOAD + +:BIT32 +echo Detected 32bit + +echo Checking %WGET32% +IF EXIST %WGET32% ( + echo %WGET32% found! +) ELSE ( + echo %WGET32% not found :( + pause + exit 1 +) + +echo Checking %UNPACK% +IF EXIST %UNPACK% ( + echo %UNPACK% found! +) ELSE ( + echo %UNPACK% not found :( + pause + exit 1 +) + +goto DOWNLOAD + +:DOWNLOAD +echo Downloading 32bit plugins! +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/avisynth.ifx -O windows\32bit\plugins\avisynth.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/faac.ifx -O windows\32bit\plugins\faac.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/ffmpeg.ifx -O windows\32bit\plugins\ffmpeg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/ffmsindex.ifx -O windows\32bit\plugins\ffmsindex.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/flac.ifx -O windows\32bit\plugins\flac.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/mkvtool.ifx -O windows\32bit\plugins\mkvtool.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/mp4box.ifx -O windows\32bit\plugins\mp4box.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/mp4fpsmod.ifx -O windows\32bit\plugins\mp4fpsmod.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/ogg.ifx -O windows\32bit\plugins\ogg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/opus.ifx -O windows\32bit\plugins\opus.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/32bit/x265msvc.ifx -O windows\32bit\plugins\x265msvc.ifx + +echo Downloading 64bit plugins! +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/ffmpeg.ifx -O windows\64bit\plugins\ffmpeg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/ffmsindex.ifx -O windows\64bit\plugins\ffmsindex.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/flac.ifx -O windows\64bit\plugins\flac.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/mkvtool.ifx -O windows\64bit\plugins\mkvtool.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/mp4box.ifx -O windows\64bit\plugins\mp4box.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/ogg.ifx -O windows\64bit\plugins\ogg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/x265gcc.ifx -O windows\64bit\plugins\x265gcc.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/x265icc.ifx -O windows\64bit\plugins\x265icc.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/windows/64bit/x265msvc.ifx -O windows\64bit\plugins\x265msvc.ifx + +goto DONE \ No newline at end of file diff --git a/prerequisite/deploy.sh b/prerequisite/deploy.sh new file mode 100644 index 00000000..65e82676 --- /dev/null +++ b/prerequisite/deploy.sh @@ -0,0 +1,23 @@ +#!/bin/sh +echo "Creating folder" +mkdir linux/64bit/plugins/ +echo "Downloading plugins" +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/faac.ifx -O linux/64bit/plugins/faac.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/ffmpeg.ifx -O linux/64bit/plugins/ffmpeg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/ffmpeg-ogg.ifx -O linux/64bit/plugins/fmpeg-ogg.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/ffmsindex.ifx -O linux/64bit/plugins/ffmsindex.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/mkvtool.ifx -O linux/64bit/plugins/mkvtool.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/mp4box.ifx -O linux/64bit/plugins/mp4box.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/mp4fpsmod.ifx -O linux/64bit/plugins/mp4fpsmod.ifx +wget http://master.dl.sourceforge.net/project/ifme/plugins/linux/64bit/x265gcc.ifx -O linux/64bit/plugins/x265gcc.ifx +echo "Unpacking" +7za x "linux/64bit/plugins/faac.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/ffmpeg.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/fmpeg-ogg.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/ffmsindex.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/mkvtool.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/mp4box.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/mp4fpsmod.ifx" -y -o"linux/64bit/plugins/" +7za x "linux/64bit/plugins/x265gcc.ifx" -y -o"linux/64bit/plugins/" +echo "Done!" +sleep 3 \ No newline at end of file diff --git a/prerequisite/readme.md b/prerequisite/readme.md new file mode 100644 index 00000000..8a02bb1e --- /dev/null +++ b/prerequisite/readme.md @@ -0,0 +1,33 @@ +# Prerequisite +This place for all required files for IFME to works. + +## Get +### 7-zip +#### Windows +You can get standalone [here](http://www.7-zip.org/download.html) and place it to: + +* Windows 32bit `windows\32bit\7za.exe` +* Windows 64bit `windows\64bit\7za.exe` + +#### Linux +for Linux, you need install `p7zip-full` via `apt-get`. No need place into this folder, `compile.sh` will copy from your `\usr` folder. + +### MediaInfo +#### Windows +You can get `DLL` version [here](https://mediaarea.net/en/MediaInfo/Download/Windows) depending on your bit. + +* Windows 32bit `windows\32bit\MediaInfo.dll` +* Windows 64bit `windows\64bit\MediaInfo.dll` + +#### Linux +for Linux , you need install `mediainfo` via `apt-get`. No need place into this folder, `compile.sh` will copy from your `\usr` folder. + +### Plugins +You can get all [here](https://sourceforge.net/projects/ifme/files/plugins/) depending on your OS and bit. + +* Windows 32bit `windows\32bit\plugins\*` +* Windows 64bit `windows\64bit\plugins\*` +* Linux 64bit `linux/64bit/plugins/*` + +## Folder +*folder need to be created manually*. Or you can execute `makefolder.cmd` or `makefolder.sh` \ No newline at end of file diff --git a/readme.md b/readme.md index a86f6952..61ffd5b5 100644 --- a/readme.md +++ b/readme.md @@ -26,7 +26,7 @@ You can donate via to [my paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-x #### Windows * OS: Windows 7, 8, 8.1, 10 (32bit/64bit) * CPU: Intel Core 2 Duo/AMD AthlonII X2 -* RAM: 2GB +* RAM: 2GB (4K encoding require 4GB more) * GPU: Any (OpenCL for FLAC encoder) * HDD: 256MB * Internet Connection @@ -35,7 +35,7 @@ You can donate via to [my paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-x #### Linux * OS: Ubuntu 14.04 or any latest distro (64bit) * CPU: Intel Core 2 Duo/AMD AthlonII X2 -* RAM: 2GB +* RAM: 2GB (4K encoding require 4GB more) * GPU: *none* * HDD: 256MB * Internet Connection