├── .gitattributes ├── LICENSE ├── README.md ├── Text2Video.dpr ├── Text2Video.dproj ├── screenshot.jpg ├── uMainForm.fmx ├── uMainForm.pas └── uMainForm.vlb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 FMXExpress 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Text2Video-Zero DesktopClient 2 | Generate videos from text using various Stable Diffusion Models via Text2Video-Zero. 3 | 4 | The Text2Video Zero Desktop client is a powerful UI for creating videos using Stable Diffusion and models fine-tuned on Stable Diffusion like: 5 | 6 | * dreamlike-art/dreamlike-photoreal-2.0 7 | * wavymulder/portraitplus 8 | * SG161222/Realistic_Vision_V1.4 9 | * prompthero/openjourney-v4 10 | * prompthero/openjourney 11 | * andite/anything-v4.0 12 | * darkstorm2150/Protogen_x5.8_Official_Release 13 | * Linaqruf/anything-v3.0 14 | * wavymulder/Analog-Diffusion 15 | * Lykon/DreamShaper 16 | * nitrosocke/redshift-diffusion 17 | * runwayml/stable-diffusion-v1-5 18 | * stabilityai/sd-vae-ft-mse 19 | * eimiss/EimisAnimeDiffusion_1.0v 20 | * nitrosocke/Nitro-Diffusion 21 | * 0xJustin/Dungeons-and-Diffusion 22 | 23 | 24 | Built with [Delphi](https://www.embarcadero.com/products/delphi/) using the FireMonkey framework this client works on Windows, macOS, and Linux (and maybe Android+iOS) with a single codebase and single UI. At the moment it is specifically set up for Windows. 25 | 26 | It also features a REST integration with Replicate.com for providing Generate Videp functionality within the client. You need to sign up for an API key to access that functionality. It also requires that you have Microsoft Edge installed. 27 | 28 | # Text2Video Zero Desktop client Screenshot on Windows 29 | ![Text2Video Zero Desktop client on Windows](/screenshot.jpg) 30 | 31 | Other Delphi AI clients: 32 | 33 | [AI Code Translator](https://github.com/FMXExpress/AI-Code-Translator) 34 | 35 | [Stable Diffusion Desktop Client](https://github.com/FMXExpress/Stable-Diffusion-Desktop-Client/) 36 | 37 | [AI Playground](https://github.com/FMXExpress/AI-Playground-DesktopClient) 38 | 39 | [Song Writer AI](https://github.com/FMXExpress/Song-Writer-AI) 40 | 41 | [Stable Diffusion Text To Image Prompts](https://github.com/FMXExpress/Stable-Diffusion-Text-To-Image-Prompts) 42 | 43 | [Generative AI Prompts](https://github.com/FMXExpress/Generative-AI-Prompts) 44 | 45 | [Dreambooth Desktop Client](https://github.com/FMXExpress/DreamBooth-Desktop-Client) 46 | 47 | [Text To Vector Desktop Client](https://github.com/FMXExpress/Text-To-Vector-Desktop-Client) 48 | -------------------------------------------------------------------------------- /Text2Video.dpr: -------------------------------------------------------------------------------- 1 | program Text2Video; 2 | 3 | uses 4 | System.StartUpCopy, 5 | FMX.Forms, 6 | uMainForm in 'uMainForm.pas' {MainForm}; 7 | 8 | {$R *.res} 9 | 10 | begin 11 | Application.Initialize; 12 | Application.CreateForm(TMainForm, MainForm); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /Text2Video.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {FA78350E-E6B1-45BA-AD9D-4C4F01B55549} 4 | 19.5 5 | FMX 6 | True 7 | Release 8 | Win32 9 | 693267 10 | Application 11 | Text2Video.dpr 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Base 59 | true 60 | 61 | 62 | true 63 | Cfg_1 64 | true 65 | true 66 | 67 | 68 | true 69 | Cfg_1 70 | true 71 | true 72 | 73 | 74 | true 75 | Base 76 | true 77 | 78 | 79 | true 80 | Cfg_2 81 | true 82 | true 83 | 84 | 85 | true 86 | Cfg_2 87 | true 88 | true 89 | 90 | 91 | .\$(Platform)\$(Config) 92 | .\$(Platform)\$(Config) 93 | false 94 | false 95 | false 96 | false 97 | false 98 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 99 | true 100 | true 101 | true 102 | true 103 | true 104 | true 105 | true 106 | true 107 | $(BDS)\bin\delphi_PROJECTICON.ico 108 | $(BDS)\bin\delphi_PROJECTICNS.icns 109 | Text2Video 110 | 111 | 112 | SampleListViewMultiDetailAppearancePackage;TMSLogging;fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;FrameStandPackage_11;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;SampleListViewRatingsAppearancePackage;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 113 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= 114 | Debug 115 | true 116 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 117 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 118 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 119 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 120 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 121 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png 122 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 123 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 124 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 125 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 126 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png 127 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png 128 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png 129 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png 130 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png 131 | annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar 132 | 133 | 134 | SampleListViewMultiDetailAppearancePackage;TMSLogging;fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;FrameStandPackage_11;fmxFireDAC;dbexpress;inet;DataSnapCommon;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;SampleListViewRatingsAppearancePackage;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 135 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= 136 | Debug 137 | true 138 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 139 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 140 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 141 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 142 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 143 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png 144 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 145 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 146 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 147 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 148 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png 149 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png 150 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png 151 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png 152 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png 153 | annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar 154 | 155 | 156 | fgx;TMSLogging;fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;TMSFMXPackPkgDXE14;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;SampleListViewRatingsAppearancePackage;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 157 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 158 | iPhoneAndiPad 159 | true 160 | Debug 161 | $(MSBuildProjectName) 162 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png 163 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png 164 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png 165 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png 166 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png 167 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png 168 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png 169 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png 170 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png 171 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png 172 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png 173 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png 174 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png 175 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png 176 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png 177 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png 178 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png 179 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png 180 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png 181 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png 182 | 183 | 184 | fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 185 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 186 | iPhoneAndiPad 187 | true 188 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png 189 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png 190 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png 191 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png 192 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png 193 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png 194 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png 195 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png 196 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png 197 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png 198 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png 199 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png 200 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png 201 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png 202 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png 203 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png 204 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png 205 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png 206 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png 207 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png 208 | 209 | 210 | DataSnapServer;TMSLogging;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;FrameStandPackage_11;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;JVEsoft;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 211 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 212 | Debug 213 | true 214 | 215 | 216 | DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 217 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 218 | Debug 219 | true 220 | 221 | 222 | SampleListViewMultiDetailAppearancePackage;vclwinx;DataSnapServer;fgx;TMSLogging;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;FrameStandPackage_11;SVGIconImageListFMX;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;TMSFMXPackPkgDXE14;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;ChromiumFMX;SVGIconPackage;DataSnapIndy10ServerTransport;DataSnapConnectors;JVEsoft;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;Skia.Package.VCL;vcldb;vclFireDAC;SampleListViewRatingsAppearancePackage;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;TMSiCLPkgDXE14;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;SVGIconImageList;soapserver;FireDACIBDriver;$(DCC_UsePackage) 223 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 224 | Debug 225 | true 226 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 227 | 1033 228 | $(BDS)\bin\default_app.manifest 229 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 230 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 231 | 232 | 233 | vclwinx;DataSnapServer;TMSLogging;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;RadiantShapesFmx_Design;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;FrameStandPackage_11;SVGIconImageListFMX;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;SVGIconPackage;DataSnapIndy10ServerTransport;DataSnapConnectors;JVEsoft;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;Skia.Package.VCL;vcldb;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;SVGIconImageList;soapserver;FireDACIBDriver;$(DCC_UsePackage) 234 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) 235 | Debug 236 | true 237 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 238 | 1033 239 | $(BDS)\bin\default_app.manifest 240 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 241 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 242 | 243 | 244 | DEBUG;$(DCC_Define) 245 | true 246 | false 247 | true 248 | true 249 | true 250 | true 251 | true 252 | 253 | 254 | false 255 | PerMonitorV2 256 | 257 | 258 | PerMonitorV2 259 | 260 | 261 | false 262 | RELEASE;$(DCC_Define) 263 | 0 264 | 0 265 | 266 | 267 | PerMonitorV2 268 | 269 | 270 | PerMonitorV2 271 | 272 | 273 | 274 | MainSource 275 | 276 | 277 |
MainForm
278 | fmx 279 |
280 | 281 | Base 282 | 283 | 284 | Cfg_1 285 | Base 286 | 287 | 288 | Cfg_2 289 | Base 290 | 291 |
292 | 293 | Delphi.Personality.12 294 | Application 295 | 296 | 297 | 298 | Text2Video.dpr 299 | 300 | 301 | 302 | 303 | 304 | true 305 | 306 | 307 | 308 | 309 | true 310 | 311 | 312 | 313 | 314 | true 315 | 316 | 317 | 318 | 319 | Text2Video.exe 320 | true 321 | 322 | 323 | 324 | 325 | 1 326 | 327 | 328 | Contents\MacOS 329 | 1 330 | 331 | 332 | 0 333 | 334 | 335 | 336 | 337 | classes 338 | 64 339 | 340 | 341 | classes 342 | 64 343 | 344 | 345 | 346 | 347 | res\xml 348 | 1 349 | 350 | 351 | res\xml 352 | 1 353 | 354 | 355 | 356 | 357 | library\lib\armeabi-v7a 358 | 1 359 | 360 | 361 | 362 | 363 | library\lib\armeabi 364 | 1 365 | 366 | 367 | library\lib\armeabi 368 | 1 369 | 370 | 371 | 372 | 373 | library\lib\armeabi-v7a 374 | 1 375 | 376 | 377 | 378 | 379 | library\lib\mips 380 | 1 381 | 382 | 383 | library\lib\mips 384 | 1 385 | 386 | 387 | 388 | 389 | library\lib\armeabi-v7a 390 | 1 391 | 392 | 393 | library\lib\arm64-v8a 394 | 1 395 | 396 | 397 | 398 | 399 | library\lib\armeabi-v7a 400 | 1 401 | 402 | 403 | 404 | 405 | res\drawable 406 | 1 407 | 408 | 409 | res\drawable 410 | 1 411 | 412 | 413 | 414 | 415 | res\values 416 | 1 417 | 418 | 419 | res\values 420 | 1 421 | 422 | 423 | 424 | 425 | res\values-v21 426 | 1 427 | 428 | 429 | res\values-v21 430 | 1 431 | 432 | 433 | 434 | 435 | res\values 436 | 1 437 | 438 | 439 | res\values 440 | 1 441 | 442 | 443 | 444 | 445 | res\drawable 446 | 1 447 | 448 | 449 | res\drawable 450 | 1 451 | 452 | 453 | 454 | 455 | res\drawable-xxhdpi 456 | 1 457 | 458 | 459 | res\drawable-xxhdpi 460 | 1 461 | 462 | 463 | 464 | 465 | res\drawable-xxxhdpi 466 | 1 467 | 468 | 469 | res\drawable-xxxhdpi 470 | 1 471 | 472 | 473 | 474 | 475 | res\drawable-ldpi 476 | 1 477 | 478 | 479 | res\drawable-ldpi 480 | 1 481 | 482 | 483 | 484 | 485 | res\drawable-mdpi 486 | 1 487 | 488 | 489 | res\drawable-mdpi 490 | 1 491 | 492 | 493 | 494 | 495 | res\drawable-hdpi 496 | 1 497 | 498 | 499 | res\drawable-hdpi 500 | 1 501 | 502 | 503 | 504 | 505 | res\drawable-xhdpi 506 | 1 507 | 508 | 509 | res\drawable-xhdpi 510 | 1 511 | 512 | 513 | 514 | 515 | res\drawable-mdpi 516 | 1 517 | 518 | 519 | res\drawable-mdpi 520 | 1 521 | 522 | 523 | 524 | 525 | res\drawable-hdpi 526 | 1 527 | 528 | 529 | res\drawable-hdpi 530 | 1 531 | 532 | 533 | 534 | 535 | res\drawable-xhdpi 536 | 1 537 | 538 | 539 | res\drawable-xhdpi 540 | 1 541 | 542 | 543 | 544 | 545 | res\drawable-xxhdpi 546 | 1 547 | 548 | 549 | res\drawable-xxhdpi 550 | 1 551 | 552 | 553 | 554 | 555 | res\drawable-xxxhdpi 556 | 1 557 | 558 | 559 | res\drawable-xxxhdpi 560 | 1 561 | 562 | 563 | 564 | 565 | res\drawable-small 566 | 1 567 | 568 | 569 | res\drawable-small 570 | 1 571 | 572 | 573 | 574 | 575 | res\drawable-normal 576 | 1 577 | 578 | 579 | res\drawable-normal 580 | 1 581 | 582 | 583 | 584 | 585 | res\drawable-large 586 | 1 587 | 588 | 589 | res\drawable-large 590 | 1 591 | 592 | 593 | 594 | 595 | res\drawable-xlarge 596 | 1 597 | 598 | 599 | res\drawable-xlarge 600 | 1 601 | 602 | 603 | 604 | 605 | res\values 606 | 1 607 | 608 | 609 | res\values 610 | 1 611 | 612 | 613 | 614 | 615 | 1 616 | 617 | 618 | Contents\MacOS 619 | 1 620 | 621 | 622 | 0 623 | 624 | 625 | 626 | 627 | Contents\MacOS 628 | 1 629 | .framework 630 | 631 | 632 | Contents\MacOS 633 | 1 634 | .framework 635 | 636 | 637 | Contents\MacOS 638 | 1 639 | .framework 640 | 641 | 642 | 0 643 | 644 | 645 | 646 | 647 | 1 648 | .dylib 649 | 650 | 651 | 1 652 | .dylib 653 | 654 | 655 | 1 656 | .dylib 657 | 658 | 659 | Contents\MacOS 660 | 1 661 | .dylib 662 | 663 | 664 | Contents\MacOS 665 | 1 666 | .dylib 667 | 668 | 669 | Contents\MacOS 670 | 1 671 | .dylib 672 | 673 | 674 | 0 675 | .dll;.bpl 676 | 677 | 678 | 679 | 680 | 1 681 | .dylib 682 | 683 | 684 | 1 685 | .dylib 686 | 687 | 688 | 1 689 | .dylib 690 | 691 | 692 | Contents\MacOS 693 | 1 694 | .dylib 695 | 696 | 697 | Contents\MacOS 698 | 1 699 | .dylib 700 | 701 | 702 | Contents\MacOS 703 | 1 704 | .dylib 705 | 706 | 707 | 0 708 | .bpl 709 | 710 | 711 | 712 | 713 | 0 714 | 715 | 716 | 0 717 | 718 | 719 | 0 720 | 721 | 722 | 0 723 | 724 | 725 | 0 726 | 727 | 728 | Contents\Resources\StartUp\ 729 | 0 730 | 731 | 732 | Contents\Resources\StartUp\ 733 | 0 734 | 735 | 736 | Contents\Resources\StartUp\ 737 | 0 738 | 739 | 740 | 0 741 | 742 | 743 | 744 | 745 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 746 | 1 747 | 748 | 749 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 750 | 1 751 | 752 | 753 | 754 | 755 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 756 | 1 757 | 758 | 759 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 760 | 1 761 | 762 | 763 | 764 | 765 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 766 | 1 767 | 768 | 769 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 770 | 1 771 | 772 | 773 | 774 | 775 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 776 | 1 777 | 778 | 779 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 780 | 1 781 | 782 | 783 | 784 | 785 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 786 | 1 787 | 788 | 789 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 790 | 1 791 | 792 | 793 | 794 | 795 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 796 | 1 797 | 798 | 799 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 800 | 1 801 | 802 | 803 | 804 | 805 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 806 | 1 807 | 808 | 809 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 810 | 1 811 | 812 | 813 | 814 | 815 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 816 | 1 817 | 818 | 819 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 820 | 1 821 | 822 | 823 | 824 | 825 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 826 | 1 827 | 828 | 829 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 830 | 1 831 | 832 | 833 | 834 | 835 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 836 | 1 837 | 838 | 839 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 840 | 1 841 | 842 | 843 | 844 | 845 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 846 | 1 847 | 848 | 849 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 850 | 1 851 | 852 | 853 | 854 | 855 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 856 | 1 857 | 858 | 859 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 860 | 1 861 | 862 | 863 | 864 | 865 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 866 | 1 867 | 868 | 869 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 870 | 1 871 | 872 | 873 | 874 | 875 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 876 | 1 877 | 878 | 879 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 880 | 1 881 | 882 | 883 | 884 | 885 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 886 | 1 887 | 888 | 889 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 890 | 1 891 | 892 | 893 | 894 | 895 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 896 | 1 897 | 898 | 899 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 900 | 1 901 | 902 | 903 | 904 | 905 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 906 | 1 907 | 908 | 909 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 910 | 1 911 | 912 | 913 | 914 | 915 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 916 | 1 917 | 918 | 919 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 920 | 1 921 | 922 | 923 | 924 | 925 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 926 | 1 927 | 928 | 929 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 930 | 1 931 | 932 | 933 | 934 | 935 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 936 | 1 937 | 938 | 939 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 940 | 1 941 | 942 | 943 | 944 | 945 | 1 946 | 947 | 948 | 1 949 | 950 | 951 | 952 | 953 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 954 | 1 955 | 956 | 957 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 958 | 1 959 | 960 | 961 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 962 | 1 963 | 964 | 965 | 966 | 967 | ..\ 968 | 1 969 | 970 | 971 | ..\ 972 | 1 973 | 974 | 975 | ..\ 976 | 1 977 | 978 | 979 | 980 | 981 | 1 982 | 983 | 984 | 1 985 | 986 | 987 | 1 988 | 989 | 990 | 991 | 992 | ..\$(PROJECTNAME).launchscreen 993 | 64 994 | 995 | 996 | ..\$(PROJECTNAME).launchscreen 997 | 64 998 | 999 | 1000 | 1001 | 1002 | 1 1003 | 1004 | 1005 | 1 1006 | 1007 | 1008 | 1 1009 | 1010 | 1011 | 1012 | 1013 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1014 | 1 1015 | 1016 | 1017 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1018 | 1 1019 | 1020 | 1021 | 1022 | 1023 | ..\ 1024 | 1 1025 | 1026 | 1027 | ..\ 1028 | 1 1029 | 1030 | 1031 | ..\ 1032 | 1 1033 | 1034 | 1035 | 1036 | 1037 | Contents 1038 | 1 1039 | 1040 | 1041 | Contents 1042 | 1 1043 | 1044 | 1045 | Contents 1046 | 1 1047 | 1048 | 1049 | 1050 | 1051 | Contents\Resources 1052 | 1 1053 | 1054 | 1055 | Contents\Resources 1056 | 1 1057 | 1058 | 1059 | Contents\Resources 1060 | 1 1061 | 1062 | 1063 | 1064 | 1065 | library\lib\armeabi-v7a 1066 | 1 1067 | 1068 | 1069 | library\lib\arm64-v8a 1070 | 1 1071 | 1072 | 1073 | 1 1074 | 1075 | 1076 | 1 1077 | 1078 | 1079 | 1 1080 | 1081 | 1082 | 1 1083 | 1084 | 1085 | Contents\MacOS 1086 | 1 1087 | 1088 | 1089 | Contents\MacOS 1090 | 1 1091 | 1092 | 1093 | Contents\MacOS 1094 | 1 1095 | 1096 | 1097 | 0 1098 | 1099 | 1100 | 1101 | 1102 | library\lib\armeabi-v7a 1103 | 1 1104 | 1105 | 1106 | 1107 | 1108 | 1 1109 | 1110 | 1111 | 1 1112 | 1113 | 1114 | 1115 | 1116 | Assets 1117 | 1 1118 | 1119 | 1120 | Assets 1121 | 1 1122 | 1123 | 1124 | 1125 | 1126 | Assets 1127 | 1 1128 | 1129 | 1130 | Assets 1131 | 1 1132 | 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 1141 | 1142 | 1143 | 1144 | 1145 | 1146 | 1147 | True 1148 | True 1149 | True 1150 | True 1151 | True 1152 | True 1153 | True 1154 | True 1155 | 1156 | 1157 | 12 1158 | 1159 | 1160 | 1161 | 1162 |
1163 | -------------------------------------------------------------------------------- /screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FMXExpress/Text2Video-Desktop-Client/6607ae59710a25b1373f30c2e1900850fadc9261/screenshot.jpg -------------------------------------------------------------------------------- /uMainForm.pas: -------------------------------------------------------------------------------- 1 | unit uMainForm; 2 | 3 | interface 4 | 5 | uses 6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 | FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, REST.Types, 8 | FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, 9 | FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, 10 | FMX.Controls.Presentation, FMX.StdCtrls, FMX.WebBrowser, Data.DB, 11 | FireDAC.Comp.DataSet, FireDAC.Comp.Client, REST.Response.Adapter, REST.Client, 12 | Data.Bind.Components, Data.Bind.ObjectScope, System.Net.URLClient, 13 | System.Net.HttpClient, System.Net.HttpClientComponent, FMX.ListView.Types, 14 | FMX.ListView.Appearances, FMX.ListView.Adapters.Base, System.Rtti, 15 | System.Bindings.Outputs, Fmx.Bind.Editors, Data.Bind.EngExt, 16 | Fmx.Bind.DBEngExt, FMX.Edit, Data.Bind.DBScope, FMX.ListView, FMX.ListBox, 17 | FMX.Layouts, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo, FMX.EditBox, FMX.SpinBox, 18 | FireDAC.Stan.StorageBin, FMX.ComboEdit; 19 | 20 | type 21 | TMainForm = class(TForm) 22 | RESTClient1: TRESTClient; 23 | RESTRequest1: TRESTRequest; 24 | RESTResponse1: TRESTResponse; 25 | RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter; 26 | FDMemTable1: TFDMemTable; 27 | RESTClient2: TRESTClient; 28 | RESTRequest2: TRESTRequest; 29 | RESTResponse2: TRESTResponse; 30 | RESTResponseDataSetAdapter2: TRESTResponseDataSetAdapter; 31 | FDMemTable2: TFDMemTable; 32 | WebBrowser: TWebBrowser; 33 | GenerateButton: TButton; 34 | Timer1: TTimer; 35 | NetHTTPClient1: TNetHTTPClient; 36 | ListView1: TListView; 37 | FileMemTable: TFDMemTable; 38 | BindSourceDB1: TBindSourceDB; 39 | BindingsList1: TBindingsList; 40 | LinkListControlToField1: TLinkListControlToField; 41 | VideoPathEdit: TEdit; 42 | LinkControlToField1: TLinkControlToField; 43 | Layout1: TLayout; 44 | Label1: TLabel; 45 | VersionEdit: TEdit; 46 | APIKeyEdit: TEdit; 47 | APIKeyButton: TButton; 48 | MaterialOxfordBlueSB: TStyleBook; 49 | TemplateMemo: TMemo; 50 | Layout2: TLayout; 51 | PromptMemo: TMemo; 52 | Label2: TLabel; 53 | VLTrackBar: TTrackBar; 54 | FPSTrackBar: TTrackBar; 55 | Layout3: TLayout; 56 | Layout4: TLayout; 57 | Layout5: TLayout; 58 | Label3: TLabel; 59 | Label4: TLabel; 60 | FPSSpinBox: TSpinBox; 61 | VLSpinBox: TSpinBox; 62 | NegativePromptEdit: TEdit; 63 | Label5: TLabel; 64 | ProgressBar: TProgressBar; 65 | Timer2: TTimer; 66 | ModelEdit: TComboEdit; 67 | Timer3: TTimer; 68 | procedure GenerateButtonClick(Sender: TObject); 69 | procedure Timer1Timer(Sender: TObject); 70 | procedure APIKeyButtonClick(Sender: TObject); 71 | procedure FPSTrackBarChange(Sender: TObject); 72 | procedure FPSSpinBoxChange(Sender: TObject); 73 | procedure VLSpinBoxChange(Sender: TObject); 74 | procedure VLTrackBarChange(Sender: TObject); 75 | procedure ListView1ItemClick(const Sender: TObject; 76 | const AItem: TListViewItem); 77 | procedure Timer2Timer(Sender: TObject); 78 | procedure FormCreate(Sender: TObject); 79 | procedure Timer3Timer(Sender: TObject); 80 | private 81 | { Private declarations } 82 | public 83 | { Public declarations } 84 | end; 85 | 86 | var 87 | MainForm: TMainForm; 88 | 89 | implementation 90 | 91 | {$R *.fmx} 92 | 93 | uses 94 | System.IOUtils, System.Hash; 95 | 96 | procedure TMainForm.APIKeyButtonClick(Sender: TObject); 97 | begin 98 | APIKeyEdit.Visible := not APIKeyEdit.Visible; 99 | end; 100 | 101 | procedure TMainForm.GenerateButtonClick(Sender: TObject); 102 | begin 103 | if APIKeyEdit.Text='' then 104 | begin 105 | ShowMessage('Enter a Replicate.com API key.'); 106 | Exit; 107 | end; 108 | 109 | ProgressBar.Value := 0; 110 | ProgressBar.Visible := True; 111 | GenerateButton.Enabled := False; 112 | 113 | Application.ProcessMessages; 114 | 115 | RestRequest1.Params[0].Value := 'Token ' + APIKeyEdit.Text; 116 | RestRequest1.Params[1].Value := TemplateMemo.Lines.Text.Replace('%prompt%',PromptMemo.Lines.Text) 117 | .Replace('%model%',ModelEdit.Text) 118 | .Replace('%video_length%',VLTrackBar.Value.ToString) 119 | .Replace('%fps%',FPSTrackBar.Value.ToString) 120 | .Replace('%negative_prompt%',NegativePromptEdit.Text); 121 | RESTRequest1.Execute; 122 | var F := FDMemTable1.FindField('status'); 123 | if F<>nil then 124 | begin 125 | if F.AsWideString='starting' then 126 | begin 127 | RESTRequest2.Resource := FDMemTable1.FieldByName('id').AsWideString; 128 | 129 | Timer1.Enabled := True; 130 | end 131 | else 132 | begin 133 | ProgressBar.Visible := False; 134 | GenerateButton.Enabled := True; 135 | ShowMessage(F.AsWideString); 136 | end; 137 | end; 138 | end; 139 | 140 | procedure TMainForm.ListView1ItemClick(const Sender: TObject; 141 | const AItem: TListViewItem); 142 | begin 143 | WebBrowser.Visible := True; 144 | WebBrowser.Navigate(VideoPathEdit.Text); 145 | end; 146 | 147 | procedure TMainForm.VLSpinBoxChange(Sender: TObject); 148 | begin 149 | VLTrackBar.Value := VLSpinBox.Value; 150 | end; 151 | 152 | procedure TMainForm.FormCreate(Sender: TObject); 153 | begin 154 | var LDataFile := ExtractFilePath(ParamStr(0)) + 'database.fds'; 155 | if TFile.Exists(LDataFile) then 156 | FileMemTable.LoadFromFile(LDataFile); 157 | end; 158 | 159 | procedure TMainForm.FPSSpinBoxChange(Sender: TObject); 160 | begin 161 | FPSTrackBar.Value := FPSSpinBox.Value; 162 | end; 163 | 164 | procedure TMainForm.Timer1Timer(Sender: TObject); 165 | begin 166 | RestRequest2.Params[0].Value := 'Token ' + APIKeyEdit.Text; 167 | RESTRequest2.Execute; 168 | var F := FDMemTable2.FindField('status'); 169 | if F<>nil then 170 | begin 171 | if F.AsWideString='succeeded' then 172 | begin 173 | Timer1.Enabled := False; 174 | var LVideoURL := FDMemTable2.FieldByName('output').AsWideString; 175 | WebBrowser.Visible := True; 176 | WebBrowser.Navigate(LVideoURL); 177 | var LMS := TMemoryStream.Create; 178 | NetHTTPClient1.Get(LVideoURL,LMS); 179 | var LFilename := ExtractFilePath(ParamStr(0)) + THashMD5.GetHashString(LVideoURL) + '.mp4'; 180 | LMS.SaveToFile(LFilename); 181 | LMS.Free; 182 | FileMemTable.AppendRecord([LFilename,PromptMemo.Lines.Text]); 183 | FileMemTable.SaveToFile(ExtractFilePath(ParamStr(0)) + 'database.fds'); 184 | ProgressBar.Visible := False; 185 | GenerateButton.Enabled := True; 186 | end 187 | else 188 | if F.AsWideString='failed' then 189 | begin 190 | ProgressBar.Visible := False; 191 | GenerateButton.Enabled := True; 192 | end 193 | else 194 | begin 195 | var LLogs := FDMemTable2.FieldByName('logs').AsWideString; 196 | WebBrowser.LoadFromStrings('','about:blank'); 197 | end; 198 | end; 199 | end; 200 | 201 | procedure TMainForm.Timer2Timer(Sender: TObject); 202 | begin 203 | if ProgressBar.Value=ProgressBar.Max then 204 | ProgressBar.Value := ProgressBar.Min 205 | else 206 | ProgressBar.Value := ProgressBar.Value+5; 207 | end; 208 | 209 | procedure TMainForm.Timer3Timer(Sender: TObject); 210 | begin 211 | Timer3.Enabled := False; 212 | WebBrowser.LoadFromStrings('','about:blank'); 213 | end; 214 | 215 | procedure TMainForm.VLTrackBarChange(Sender: TObject); 216 | begin 217 | VLSpinBox.Value := VLTrackBar.Value; 218 | end; 219 | 220 | procedure TMainForm.FPSTrackBarChange(Sender: TObject); 221 | begin 222 | FPSSpinBox.Value := FPSTrackBar.Value; 223 | end; 224 | 225 | end. 226 | -------------------------------------------------------------------------------- /uMainForm.vlb: -------------------------------------------------------------------------------- 1 | [RESTRequest2] 2 | Coordinates=699,10,104,105 3 | 4 | [RESTRequest1] 5 | Coordinates=373,10,264,123 6 | 7 | [RESTResponseDataSetAdapter1] 8 | Coordinates=612,1,174,33 9 | 10 | [RESTResponse2] 11 | Coordinates=10,10,96,303 12 | 13 | [Timer1] 14 | Coordinates=612,56,48,33 15 | 16 | [RESTResponseDataSetAdapter2] 17 | Coordinates=612,111,174,33 18 | 19 | [NetHTTPClient1] 20 | Coordinates=612,166,92,33 21 | 22 | [FDMemTable1] 23 | Coordinates=495,386,84,51 24 | 25 | [ListView1] 26 | Coordinates=620,160,89,141 27 | Visible=True 28 | 29 | [RESTResponse1] 30 | Coordinates=133,10,96,303 31 | 32 | [RESTClient1] 33 | Coordinates=10,386,76,69 34 | 35 | [FDMemTable2] 36 | Coordinates=386,386,84,51 37 | 38 | [RESTClient2] 39 | Coordinates=218,386,76,69 40 | 41 | [] 42 | Coordinates=428,152,63,51 43 | 44 | [BindSourceDB1] 45 | Coordinates=380,220,92,105 46 | 47 | [BindingsList1] 48 | Coordinates=345,175,82,33 49 | 50 | [VideoPathEdit] 51 | Coordinates=550,270,84,51 52 | Visible=True 53 | 54 | [APIKeyEdit] 55 | Coordinates=46,332,69,51 56 | 57 | [Layout1] 58 | Coordinates=267,141,53,33 59 | 60 | [Label1] 61 | Coordinates=267,1,46,51 62 | 63 | [MaterialOxfordBlueSB] 64 | Coordinates=267,227,123,33 65 | 66 | [APIKeyButton] 67 | Coordinates=125,332,83,51 68 | 69 | [VersionEdit] 70 | Coordinates=267,71,71,51 71 | 72 | [Layout4] 73 | Coordinates=267,193,53,33 74 | 75 | [Layout2] 76 | Coordinates=267,349,53,33 77 | 78 | [TemplateMemo] 79 | Coordinates=465,526,89,51 80 | 81 | [Layout3] 82 | Coordinates=103,529,53,33 83 | 84 | [Label3] 85 | Coordinates=418,529,46,51 86 | 87 | [Layout5] 88 | Coordinates=44,529,53,33 89 | 90 | [Label4] 91 | Coordinates=428,456,46,51 92 | 93 | [Label2] 94 | Coordinates=300,529,46,51 95 | 96 | [PromptMemo] 97 | Coordinates=267,279,80,51 98 | 99 | [VLTrackBar] 100 | Coordinates=162,529,72,51 101 | 102 | [VLSpinBox] 103 | Coordinates=231,529,69,51 104 | 105 | [FPSSpinBox] 106 | Coordinates=349,529,76,51 107 | 108 | [FPSTrackBar] 109 | Coordinates=630,460,79,51 110 | Visible=True 111 | 112 | [GenerateButton] 113 | Coordinates=317,386,92,51 114 | 115 | [FileMemTable] 116 | Coordinates=109,386,82,33 117 | Visible=False 118 | 119 | [WebBrowser] 120 | Coordinates=604,386,77,33 121 | 122 | [Timer2] 123 | Coordinates=675,600,48,33 124 | 125 | [NegativePromptEdit] 126 | Coordinates=675,288,112,51 127 | 128 | [Label5] 129 | Coordinates=675,218,46,51 130 | 131 | [ProgressBar] 132 | Coordinates=675,530,76,51 133 | 134 | --------------------------------------------------------------------------------