diff --git a/CHANGES b/CHANGES index 3bae977f..160fd32d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +v1.0.0 (31 Jul 2019) +------------------------------------------------------------------------------- + +- First beta release +- Fixed some issues with the MS Windows installer +- Some parts of the Tartube window displayed the wrong icons. Fixed + v0.7.0 (7 Jul 2019) ------------------------------------------------------------------------------- @@ -29,7 +36,7 @@ v0.7.0 (7 Jul 2019) - Confirmed that various Gtk issues present in Gtk3.22 are not present in Gtk 3.24. Users with Gtk 3.22 on their system will be warned to update it. These warnings can be disabled, if required - + v0.6.0 (4 Jul 2019) ------------------------------------------------------------------------------- @@ -103,7 +110,7 @@ v0.5.0 (1 Jul 2019) - The Gtk test window, available for MS Windows after using the installer, now contains some text (to make it clear that the window is working as intended) - + v0.4.0 (29 Jun 2019) ------------------------------------------------------------------------------ @@ -147,7 +154,7 @@ v0.4.0 (29 Jun 2019) previous two). Two of them show the name of a video's parent channel/ playlist/folder; the other two show the video's description - Fixed incorrect formatting in the DASH and 3D file formats (#3) - + v0.3.0 (25 Jun 2019) ------------------------------------------------------------------------------- @@ -155,7 +162,7 @@ v0.3.0 (25 Jun 2019) - Fixed some more crashes - Fixed some issues with video descriptions containing quotes and ampersand characters - + v0.2.0 (23 Jun 2019) ------------------------------------------------------------------------------- diff --git a/README.rst b/README.rst index 2813d96d..24827c2b 100644 --- a/README.rst +++ b/README.rst @@ -9,20 +9,20 @@ written in Python 3 / Gtk 3. It runs on MS Windows, Linux and BSD. It probably works on MacOS, but the authors have not been able to confirm this. -**Tartube** is alpha software. **Test it carefully before you allow it to use -your 100TB hard drive**, as it might not behave in the way you're expecting. +**Tartube** is beta software. **Test it carefully before you allow it to use +your 100TB hard drive**, as it might not behave in the way you're expecting. -Problems can be reported at +Problems can be reported at `our GitHub page `__. Downloads --------- -Latest version: **v0.7.0 (7 July 2019)** +Latest version: **v1.0.0 (31 July 2019)** -- `MS Windows (32-bit) installer `__ from Sourceforge -- `MS Windows (64-bit) installer `__ from Sourceforge -- `Source code `__ from Sourceforge +- `MS Windows (32-bit) installer `__ from Sourceforge +- `MS Windows (64-bit) installer `__ from Sourceforge +- `Source code `__ from Sourceforge - `Source code `__ and `support `__ from GitHub Why should I use Tartube? @@ -40,24 +40,72 @@ Why should I use Tartube? they don't like. **Tartube** won't do any of those things - **Tartube** can, in some circumstances, see videos that are region-blocked and/or age-restricted - + Screenshots ----------- .. image:: screenshots/tartube.png :alt: Tartube screenshot -Installation ------------- +Installation - MS Windows +------------------------- MS Windows users should use the installer available at the Tartube website. The installer contains everything you need to run Tartube. You must be using Windows Vista or above; the installer will not work on Windows XP. +**Some users report that they can't run Tartube at all**. If so, you can try +the following steps: + +- From the Windows Start Menu, click **Tartube > Test Gtk graphics**. If you see a lot of error messages, you can `report those errors to the authors `__. +- You can try a **manual installation (see below)**. This takes about 10-30 minutes, depending on your internet speed + +MS Windows manual installation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- This section assumes you have a 64-bit computer +- Download and install MSYS2 from `msys2.org `__. You need the file that looks something like **msys2-x86_64-yyyymmdd.exe** +- MSYS2 wants to install in **C:\\msys64**, so do that +- Open the MINGW64 terminal, which is **C:\\msys64\\mingw64.exe** +- In the MINGW64 terminal, type: + + **pacman -Syu** + +- If the terminal wants to shut down, close it, and then restart it +- Now type the following commands, one by one: + + **pacman -Su** + + **pacman -S mingw-w64-x86_64-python3** + + **pacman -S mingw-w64-x86_64-python3-pip** + + **pacman -S mingw-w64-x86_64-python3-gobject** + + **pacman -S mingw-w64-x86_64-python3-requests** + + **pacman -S mingw-w64-x86_64-gtk3** + + **pacman -S mingw-w64-x86_64-gsettings-desktop-schemas** + +- Download the `Tartube source code `__ from Sourceforge +- Extract it into the folder **C:\\msys64\\home\\YOURNAME**, creating a folder called **C:\\msys64\\home\\YOURNAME\\tartube** +- Now, to run Tartube, type these commands in the MINGW64 terminal: + + **cd tartube** + + **python3 tartube** + +Installation - MacOS +-------------------- + Tartube should run on MacOS, but the authors don't have access a MacOS system. If you are a MacOS user, open an issue at our Github page, and we'll work out the installation procedure together. +Installation - Linux/BSD/MacOS +------------------------------ + Linux/BSD users can use any of the following installation methods. Linux/BSD Installation requirements @@ -72,29 +120,29 @@ Optional dependencies ~~~~~~~~~~~~~~~~~~~~~ - `Python pip `__ - keeping youtube-dl up to date is much simpler when pip is installed -- `Python moviepy module `__ -- `Ffmpeg `__ +- `Python moviepy module `__ +- `Ffmpeg `__ Install using PyPI ~~~~~~~~~~~~~~~~~~ -1. Run ``pip3 install tartube`` -2. Run ``tartube`` +1. Type: ``pip3 install tartube`` +2. Type: ``tartube`` Install from source ~~~~~~~~~~~~~~~~~~~ 1. Download & extract the source 2. Change directory into the **Tartube** directory -3. Run ``python3 setup.py install`` -4. Run ``tartube`` +3. Type: ``python3 setup.py install`` +4. Type: ``tartube`` Run without installing ~~~~~~~~~~~~~~~~~~~~~~ 1. Download & extract the source 2. Change directory into the **Tartube** directory -3. Run ``python3 tartube`` +3. Type: ``python3 tartube`` Getting started --------------- @@ -102,7 +150,7 @@ Getting started 1. Choose where to save videos ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When you first start **Tartube**, you will be asked to choose where +When you first start **Tartube**, you will be asked to choose where Tartube should save its videos. .. image:: screenshots/example1.png @@ -118,15 +166,15 @@ You can change the location later, if you need to. 2. Check youtube-dl is updated ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**Tartube** uses **youtube-dl** to interact with websites like YouTube. You +**Tartube** uses **youtube-dl** to interact with websites like YouTube. You should check that **youtube-dl** is also installed and running correctly. -If you are using MS Windows, you will be prompted to install **youtube-dl**; +If you are using MS Windows, you will be prompted to install **youtube-dl**; you should click **Yes**. .. image:: screenshots/example1b.png :alt: Installing youtube-dl on MS Windows - + **youtube-dl** is updated every week or so. All users can check that **youtube-dl** is installed and up to date: @@ -138,11 +186,11 @@ you should click **Yes**. 3. Setting youtube-dl's location ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If the update operation fails on MS Windows, you should +If the update operation fails on MS Windows, you should `ask the authors for help `__. -Users on all other systems can modify Tartube's settings. There are several -locations on your filesystem where youtube-dl might have been installed. +Users on all other systems can modify Tartube's settings. There are several +locations on your filesystem where youtube-dl might have been installed. .. image:: screenshots/example2.png :alt: Updating youtube-dl @@ -165,7 +213,7 @@ inside of other folders. .. image:: screenshots/example3.png :alt: Tartube's system folders - + When you start **Tartube**, there are five folders already visible. You can't remove any of these folders (but you can hide them, if you want). @@ -184,7 +232,7 @@ of the window. A popup window will appear. Copy and paste the video's URL into the popup window. You can copy and paste as many URLs as you like. -When you're finished, click the **OK** button. +When you're finished, click the **OK** button. Finally, click on the **Unsorted Videos** folder to see the videos you've added. @@ -196,7 +244,7 @@ added. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can also add a whole channel by clicking the **'Channel'** button or a -whole playlist by clicking the **'Playlist'** button. +whole playlist by clicking the **'Playlist'** button. **Tartube** will download all of the videos in the channel or playlist. @@ -215,7 +263,7 @@ idea to create some folders, and to store your channels/playlists inside those folders. Click the **'Folder'** button near the top of the window, and create a folder -called **Comedy**. +called **Comedy**. .. image:: screenshots/example7.png :alt: Adding a folder @@ -243,7 +291,7 @@ basically four things **Tartube** can do: .. image:: screenshots/example9.png :alt: The Check and Download buttons - + To **Check** or **Download** videos, channels and playlists, use the buttons near the top of the window. To **Refresh** **Tartube**'s database, use the menu. @@ -261,7 +309,7 @@ them. .. image:: screenshots/example10.png :alt: Opening the download options window - + - Click **Edit > General download options...** A new window opens. Any changes you make in this window aren't actually applied @@ -279,7 +327,7 @@ channels, playlists and folders you've added. .. image:: screenshots/example11.png :alt: The window with only general download options applied - + Now, suppose you want to apply some download options to the **Music** folder: - Right-click the folder, and select **Apply download options...** @@ -311,7 +359,7 @@ You can mark channels, playlists and even whole folders as favourites. - Right-click the channel, playlist or folder, and select **Mark videos > Favourite** -When you do that, any videos you download will appear in the +When you do that, any videos you download will appear in the **Favourite Videos** folder (as well as in their normal location). 12. Watching videos @@ -332,18 +380,18 @@ without restrictions on the **HookTube** website. Frequently-Asked Questions -------------------------- -**Q: I can't install Tartube / I can't run Tartube / Tartube doesn't work +**Q: I can't install Tartube / I can't run Tartube / Tartube doesn't work properly / Tartube keeps crashing!** -A: Tartube is alpha software. Please report any problems to the authors at our -`Github page `__ +A: Tartube is beta software. Please report any problems to the authors at our +`Github page `__ **Q: After I downloaded some videos, Tartube crashed, and now all my videos are missing!** A: Tartube creates a backup copy of the database, before trying to save a new copy. In the unlikely event of a failure, you can replace the broken database -file with the backup file. +file with the backup file. To find Tartube's data directory (folder), click **Edit > System preferences... > General**. @@ -359,12 +407,7 @@ the options in **Edit > System preferences... > Backups**. Note that Tartube does not create backup copies of the videos you've downloaded. That is your responsibility! -**Q: The videos/channels/playlists/folders are in the wrong order!** - -A: This is because of a Gtk we haven't been able to resolve yet. - -**Q: I want to see all the videos on a single page, not spread over several -pages!** +**Q: I want to see all the videos on a single page, not spread over several pages!** A: At the bottom of the Tartube window, set the page size to zero, and press ENTER. @@ -372,7 +415,7 @@ ENTER. **Q: I just want to check for new videos, but it takes so long!** A: By default, the underlying **youtube-dl** software checks an entire channel, -even if it contains hundreds of videos. +even if it contains hundreds of videos. You can drastically reduce the time this takes by telling Tartube to stop checking/downloading videos, if it receives (for example) notifications for @@ -415,9 +458,9 @@ Known issues - Tartube crashes continuously and often **FIXED** - Alphabetic sorting of channels/playlists/folders doesn't always work as - intended, due to an unresolved Gtk issue + intended, due to an unresolved Gtk issue **FIXED** - Channels/playlists/folder selection does not always work as intended, due to - an unresolved Gtk issue + an unresolved Gtk issue **FIXED** - Users can type in comboboxes, but this should not be possible **FIXED** Contributing diff --git a/lib/formats.py b/lib/formats.py index 867a9cf2..aafc91ad 100755 --- a/lib/formats.py +++ b/lib/formats.py @@ -453,8 +453,8 @@ SMALL_ICON_DICT = { 'video_small': 'video.png', - 'channel_small': 'playlist.png', - 'playlist_small': 'channel.png', + 'channel_small': 'channel.png', + 'playlist_small': 'playlist.png', 'folder_small': 'folder.png', 'download_small': 'download.png', diff --git a/lib/mainwin.py b/lib/mainwin.py index 25fa8011..682c0e82 100755 --- a/lib/mainwin.py +++ b/lib/mainwin.py @@ -850,6 +850,9 @@ def setup_main_toolbar(self): self.test_button.set_action_name('app.test_toolbutton') self.test_button.set_tooltip_text('Add test media data objects') + if squeeze_flag: + self.main_toolbar.insert(Gtk.SeparatorToolItem(), -1) + if not squeeze_flag: quit_button = Gtk.ToolButton.new( Gtk.Image.new_from_pixbuf( @@ -2627,7 +2630,7 @@ def video_index_popup_menu(self, event, name): edit_options_menu_item.set_sensitive(False) enforce_check_menu_item = Gtk.CheckMenuItem.new_with_mnemonic( - 'D_isable downloads', + 'D_isable video downloads', ) enforce_check_menu_item.set_active(media_data_obj.dl_sim_flag) enforce_check_menu_item.connect( diff --git a/nsis/tartube_install_32bit.nsi b/nsis/tartube_install_32bit.nsi index b88586c5..50ec8f83 100644 --- a/nsis/tartube_install_32bit.nsi +++ b/nsis/tartube_install_32bit.nsi @@ -1,4 +1,4 @@ -# Tartube v0.7.0 installer script for MS Windows +# Tartube v1.0.0 installer script for MS Windows # # Copyright (C) 2019 A S Lewis # @@ -16,31 +16,25 @@ # # # Build instructions: -# These instructions describe how to create an installer for Tartube on a +# - These instructions describe how to create an installer for Tartube on a # 32-bit MS Windows machine, Windows Vista or higher. For 64-bit machines # see the tartube_install_64bit.nsi file -# The instructions are based on the method described in # -# https://bitbucket.org/sirdeniel/deploy-python-gtk3-apps-for-windows/ -# -# - If you don't have a suitable editor (Notepad is not good enough), -# download and install one, e.g. Notepad++ from -# -# https://notepad-plus-plus.org/ -# -# - On an MS Windows machine, download and install NSIS from +# - Download and install NSIS from # # http://nsis.sourceforge.io/Download/ # # - Download the 32-bit version of MSYS2. The downloadable file should look -# something like 'msys2-i686-nnn.exe' +# something like 'msys2-i686-yyyymmdd.exe' # # http://www.msys2.org/ # -# - Run the file to install MSYS2. Let it install in its default location +# - Run the file to install MSYS2. We suggest that you create a directory +# called C:\testme, and then let MSYS2 install itself inside that +# directory, i.e. C:\testme\msys32 # - Run the mingw32 terminal, i.e. # -# C:\msys32\mingw32.exe +# C:\testme\msys32\mingw32.exe # # - We need to install various dependencies. In the terminal window, type # this command @@ -52,149 +46,87 @@ # - In the new window, type these commands # # pacman -Su -# pacman -S mingw-w64-i686-gtk3 -# pacman -S mingw-w64-i686-gsettings-desktop-schemas # pacman -S mingw-w64-i686-python3 +# pacman -S mingw-w64-i686-python3-pip # pacman -S mingw-w64-i686-python3-gobject # pacman -S mingw-w64-i686-python3-requests +# pacman -S mingw-w64-i686-gtk3 +# pacman -S mingw-w64-i686-gsettings-desktop-schemas # # - Optional step: you can check that the dependencies are working by typing # this command (if you like): # # gtk3-demo # -# - Now download youtube-dl. DO NOT use the installer for MS Windows; instead -# download the source code from -# -# https://github.com/ytdl-org/youtube-dl/ -# -# - Extract the 'youtube-dl-master' file. Changed folder into the new -# 'youtube-dl-master' folder, where you will find another folder called -# 'youtube-dl-master' -# - Rename this inner folder as 'youtube-dl', and then copy that folder to -# -# C:\msys32\home\YOURNAME -# -# - Note that, throughout this guide, YOURNAME should be substituted for your -# actual Windows username. For example, the copied folder might be -# -# C:\msys32\home\alice\youtube-dl -# -# - Next, in the mingw32 terminal window, type -# -# cd youtube-dl -# python3 setup.py install -# # - Now download the Tartube source code from # # https://sourceforge.net/projects/tartube/ # # - Extract it, and copy the whole 'tartube' folder to # -# C:\msys32\home\YOURNAME -# -# - Now download the deployment package from -# -# https://bitbucket.org/sirdeniel/deploy-python-gtk3-apps-for-windows/ -# -# - Extract it. The folder's contents should look like this -# -# /sirdeniel-deploy-python-gtk3-apps-for-windows-xxxxxx -# README.MD -# /resources -# build_dist.py -# config.pmc -# procmon_files.png -# save_procmonlog.png -# start_capture.png -# start_procmon.bat -# target_startin_lnk.png -# -# - Create a new folder -# -# C:\msys32\home\YOURNAME\procmon -# -# - Copy everything from the extracted 'resources' folder into the new -# 'procmon' folder -# - Move the 'build_dst.py' file from the new 'procmon' folder into the -# parent folder, i.e. -# -# C:\msys32\home\YOURNAME +# C:\testme\msys32\home\YOURNAME # -# - Download Process Monitor from the official Microsoft site. At the time of -# writing, it can be found at -# -# https://docs.microsoft.com/en-us/sysinternals/downloads/procmon -# -# - Copy the file into the new 'procmon' folder -# - In the new 'procmon' folder. run the batch file 'start_procmon.bat' -# - Give permission for the programme to run -# - Close the 'Process Monitor Filter' window by clicking the OK button, and -# without making any changes -# - In the Process Monitor window, click the magnifying glass icon (or press -# CTRL+E) to begin monitoring -# -# - Now run Tartube. In the mingw32 terminal window, type -# -# cd -# python3 ./youtube-dl/bin/youtube-dl --version -# cd tartube -# python3 tartube.py -# -# - In Tartube, download any video from any supported website (e.g. from -# YouTube) -# - Close the Tartube window -# - In the Process Monitor window, click the magnifying glass (or press -# CTRL+E) to stop monitoring. Then click 'File > Save' -# - In the dialogue window, select 'Comma-separated values (CSV)', and change -# the file path to -# -# C:\msys32\home\YOURNAME\Logfile.CSV -# -# - Save the file and close Process Manager -# - In the minwg32 terminal window, type this -# -# cd .. -# python3 build_dist.py -# -# - This creates a folder called 'dist' -# - You can now close the mingw32 terminal window -# -# - DELETE the following folder in its entirety, and replace it with the -# original source code (as described above) -# -# C:\msys32\home\YOURNAME\dist\msys32\home\YOURNAME\tartube -# -# - The youtube-dl might be missing some important files, so copy the -# original source code into its folder, but DO NOT replace any files that -# already exist there -# -# C:\msys32\home\YOURNAME\dist\msys32\home\YOURNAME\youtube-dl -# -# - Now move the following file into its parent folder: -# -# C:\msys32\home\YOURNAME\dist\msys32\home\YOURNAME\tartube\nsis\tartube_32bit.bat -# -# - In other words, its new location is -# -# C:\msys32\home\YOURNAME\dist\msys32\home\YOURNAME\tartube\tartube_32bit.bat -# -# - Now copy all of the remaining files in this folder -# -# C:\msys32\home\YOURNAME\dist\msys32\home\YOURNAME\tartube\nsis -# -# - ...into this folder: -# -# C:\msys32\home\YOURNAME\dist -# -# - The installer script (this file) is now at the following location -# -# C:\msys32\home\YOURNAME\dist\tartube_install_32bit.nsi +# - Note that, throughout this guide, YOURNAME should be substituted for your +# actual Windows username. For example, the copied folder might be # -# - Open the file in an editor, change the version number just below (in the -# line starting 'OutFile'), and save it -# - Compile the installer (e.g. by right-clicking the file and selecting -# 'Compile NSIS script file') +# C:\testme\msys32\home\alice\tartube +# +# - The C:\testme folder now contains about 2GB of data. If you like, you can +# use all of it (which would create an installer of about 600MB). In most +# cases, though, you will probably want to remove everything that's not +# necessary. This table shows which files and folders are in the official +# Tartube installer (which is about 90MB). Everything else can be +# deleted: +# +# C:\testme\msys32\dev +# C:\testme\msys32\etc +# C:\testme\msys32\home +# C:\testme\msys32\mingw32\bin +# C:\testme\msys32\mingw32\lib\gdk-pixbuf-2.0 +# C:\testme\msys32\mingw32\lib\girepository-1.0 +# C:\testme\msys32\mingw32\lib\glib-2.0 +# C:\testme\msys32\mingw32\lib\gtk-3.0 +# C:\testme\msys32\mingw32\lib\python3.7 +# C:\testme\msys32\mingw32\lib\thread2.8.4 +# C:\testme\msys32\mingw32\share\gir-1.0 +# C:\testme\msys32\mingw32\share\glib-2.0 +# C:\testme\msys32\mingw32\share\gtk-3.0 +# C:\testme\msys32\mingw32\share\icons +# C:\testme\msys32\mingw32\share\locale +# C:\testme\msys32\mingw32\share\themes +# C:\testme\msys32\mingw32\share\thumbnailers +# C:\testme\msys32\tmp +# C:\testme\msys32\usr\bin\bash +# C:\testme\msys32\usr\bin\chmod +# C:\testme\msys32\usr\bin\cygpath +# C:\testme\msys32\usr\bin\cygwin-console-helper +# C:\testme\msys32\usr\bin\env +# C:\testme\msys32\usr\bin\find +# C:\testme\msys32\usr\bin\findfs +# C:\testme\msys32\usr\bin\hostid +# C:\testme\msys32\usr\bin\hostname +# C:\testme\msys32\usr\bin\iconv +# C:\testme\msys32\usr\bin\id +# C:\testme\msys32\usr\bin\ln +# C:\testme\msys32\usr\bin\locale +# C:\testme\msys32\usr\bin\mintty +# C:\testme\msys32\usr\bin\mkdir +# C:\testme\msys32\usr\bin\msys-2.0.dll +# C:\testme\msys32\usr\bin\msys-gcc_s-1.dll +# C:\testme\msys32\usr\bin\msys-iconv-2.dll +# C:\testme\msys32\usr\bin\msys-intl-8.dll +# C:\testme\msys32\usr\bin\test +# C:\testme\msys32\usr\bin\tzset +# +# - Now go into the C:\testme\msys32\home\YOURNAME\tartube\nsis folder, and +# MOVE all the windows batch files into the folder above, i.e. into +# C:\testme\msys32\home\YOURNAME\tartube +# - Next, COPY all the remaining files in +# C:\testme\msys32\home\YOURNAME\tartube\nsis to C:\testme +# - Create the installer by compiling the NSIS script, +# C:\testme\tartube_install_32bit.nsi (the quickest way to do this is +# by right-clicking the file and selecting 'Compile NSIS script file') +# - When NSIS is finished, the installer appears in C:\testme # Header files # ------------------------------- @@ -207,7 +139,7 @@ ;Name and file Name "Tartube" - OutFile "install-tartube-0.7.0-32bit.exe" + OutFile "install-tartube-1.0.0-32bit.exe" ;Default installation folder InstallDir "$LOCALAPPDATA\Tartube" @@ -312,7 +244,7 @@ Section "Tartube" SecClient "Publisher" "A S Lewis" WriteRegStr HKLM \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tartube" \ - "DisplayVersion" "0.7.0" + "DisplayVersion" "1.0.0" # Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" @@ -327,10 +259,10 @@ Section "Uninstall" Delete "$SMPROGRAMS\Tartube\Tartube.lnk" Delete "$SMPROGRAMS\Tartube\Uninstall Tartube.lnk" Delete "$SMPROGRAMS\Tartube\Gtk graphics test.lnk" - RmDir "$SMPROGRAMS\Tartube" + RMDir /r "$SMPROGRAMS\Tartube" Delete "$DESKTOP\Tartube.lnk" - RMDir "$INSTDIR" + RMDir /r "$INSTDIR" Delete "$INSTDIR\Uninstall.exe" DeleteRegKey HKLM \ diff --git a/nsis/tartube_install_64bit.nsi b/nsis/tartube_install_64bit.nsi index f80bdfb2..535e211a 100644 --- a/nsis/tartube_install_64bit.nsi +++ b/nsis/tartube_install_64bit.nsi @@ -1,4 +1,4 @@ -# Tartube v0.7.0 installer script for MS Windows +# Tartube v1.0.0 installer script for MS Windows # # Copyright (C) 2019 A S Lewis # @@ -16,31 +16,26 @@ # # # Build instructions: -# These instructions describe how to create an installer for Tartube on a +# - These instructions describe how to create an installer for Tartube on a # 64-bit MS Windows machine, Windows Vista or higher. For 32-bit machines # see the tartube_install_32bit.nsi file -# The instructions are based on the method described in # -# https://bitbucket.org/sirdeniel/deploy-python-gtk3-apps-for-windows/ -# -# - If you don't have a suitable editor (Notepad is not good enough), -# download and install one, e.g. Notepad++ from -# -# https://notepad-plus-plus.org/ -# -# - On an MS Windows machine, download and install NSIS from +# - Download and install NSIS from # # http://nsis.sourceforge.io/Download/ # # - Download the 64-bit version of MSYS2. The downloadable file should look -# something like 'msys2-x86-64-nnn.exe' +# something like 'msys2-x86-64-yyyymmdd.exe' # # http://www.msys2.org/ # -# - Run the file to install MSYS2. Let it install in its default location +# - Run the file to install MSYS2. We suggest that you create a directory +# called C:\testme, and then let MSYS2 install itself inside that +# directory, i.e. C:\testme\msys64 +# # - Run the mingw64 terminal, i.e. # -# C:\msys64\mingw64.exe +# C:\testme\msys64\mingw64.exe # # - We need to install various dependencies. In the terminal window, type # this command @@ -52,149 +47,87 @@ # - In the new window, type these commands # # pacman -Su -# pacman -S mingw-w64-x86_64-gtk3 -# pacman -S mingw-w64-x86_64-gsettings-desktop-schemas # pacman -S mingw-w64-x86_64-python3 +# pacman -S mingw-w64-x86_64-python3-pip # pacman -S mingw-w64-x86_64-python3-gobject # pacman -S mingw-w64-x86_64-python3-requests +# pacman -S mingw-w64-x86_64-gtk3 +# pacman -S mingw-w64-x86_64-gsettings-desktop-schemas # # - Optional step: you can check that the dependencies are working by typing # this command (if you like): # # gtk3-demo # -# - Now download youtube-dl. DO NOT use the installer for MS Windows; instead -# download the source code from -# -# https://github.com/ytdl-org/youtube-dl/ -# -# - Extract the 'youtube-dl-master' file. Changed folder into the new -# 'youtube-dl-master' folder, where you will find another folder called -# 'youtube-dl-master' -# - Rename this inner folder as 'youtube-dl', and then copy that folder to -# -# C:\msys64\home\YOURNAME -# -# - Note that, throughout this guide, YOURNAME should be substituted for your -# actual Windows username. For example, the copied folder might be -# -# C:\msys64\home\alice\youtube-dl -# -# - Next, in the mingw64 terminal window, type -# -# cd youtube-dl -# python3 setup.py install -# # - Now download the Tartube source code from # # https://sourceforge.net/projects/tartube/ # # - Extract it, and copy the whole 'tartube' folder to # -# C:\msys64\home\YOURNAME -# -# - Now download the deployment package from -# -# https://bitbucket.org/sirdeniel/deploy-python-gtk3-apps-for-windows/ -# -# - Extract it. The folder's contents should look like this -# -# /sirdeniel-deploy-python-gtk3-apps-for-windows-xxxxxx -# README.MD -# /resources -# build_dist.py -# config.pmc -# procmon_files.png -# save_procmonlog.png -# start_capture.png -# start_procmon.bat -# target_startin_lnk.png -# -# - Create a new folder -# -# C:\msys64\home\YOURNAME\procmon -# -# - Copy everything from the extracted 'resources' folder into the new -# 'procmon' folder -# - Move the 'build_dst.py' file from the new 'procmon' folder into the -# parent folder, i.e. -# -# C:\msys64\home\YOURNAME +# C:\testme\msys64\home\YOURNAME # -# - Download Process Monitor from the official Microsoft site. At the time of -# writing, it can be found at -# -# https://docs.microsoft.com/en-us/sysinternals/downloads/procmon -# -# - Copy the file into the new 'procmon' folder -# - In the new 'procmon' folder. run the batch file 'start_procmon.bat' -# - Give permission for the programme to run -# - Close the 'Process Monitor Filter' window by clicking the OK button, and -# without making any changes -# - In the Process Monitor window, click the magnifying glass icon (or press -# CTRL+E) to begin monitoring -# -# - Now run Tartube. In the mingw64 terminal window, type -# -# cd -# python3 ./youtube-dl/bin/youtube-dl --version -# cd tartube -# python3 tartube.py -# -# - In Tartube, download any video from any supported website (e.g. from -# YouTube) -# - Close the Tartube window -# - In the Process Monitor window, click the magnifying glass (or press -# CTRL+E) to stop monitoring. Then click 'File > Save' -# - In the dialogue window, select 'Comma-separated values (CSV)', and change -# the file path to -# -# C:\msys64\home\YOURNAME\Logfile.CSV -# -# - Save the file and close Process Manager -# - In the minwg64 terminal window, type this -# -# cd .. -# python3 build_dist.py -# -# - This creates a folder called 'dist' -# - You can now close the mingw64 terminal window -# -# - DELETE the following folder in its entirety, and replace it with the -# original source code (as described above) -# -# C:\msys64\home\YOURNAME\dist\msys64\home\YOURNAME\tartube -# -# - The youtube-dl might be missing some important files, so copy the -# original source code into its folder, but DO NOT replace any files that -# already exist there -# -# C:\msys64\home\YOURNAME\dist\msys64\home\YOURNAME\youtube-dl -# -# - Now move the following file into its parent folder: -# -# C:\msys64\home\YOURNAME\dist\msys64\home\YOURNAME\tartube\nsis\tartube_64bit.bat -# -# - In other words, its new location is -# -# C:\msys64\home\YOURNAME\dist\msys64\home\YOURNAME\tartube\tartube_64bit.bat -# -# - Now copy all of the remaining files in this folder -# -# C:\msys64\home\YOURNAME\dist\msys64\home\YOURNAME\tartube\nsis -# -# - ...into this folder: -# -# C:\msys64\home\YOURNAME\dist -# -# - The installer script (this file) is now at the following location -# -# C:\msys64\home\YOURNAME\dist\tartube_install_64bit.nsi +# - Note that, throughout this guide, YOURNAME should be substituted for your +# actual Windows username. For example, the copied folder might be # -# - Open the file in an editor, change the version number just below (in the -# line starting 'OutFile'), and save it -# - Compile the installer (e.g. by right-clicking the file and selecting -# 'Compile NSIS script file') +# C:\testme\msys64\home\alice\tartube +# +# - The C:\testme folder now contains about 2GB of data. If you like, you can +# use all of it (which would create an installer of about 600MB). In most +# cases, though, you will probably want to remove everything that's not +# necessary. This table shows which files and folders are in the official +# Tartube installer (which is about 90MB). Everything else can be +# deleted: +# +# C:\testme\msys64\dev +# C:\testme\msys64\etc +# C:\testme\msys64\home +# C:\testme\msys64\mingw64\bin +# C:\testme\msys64\mingw64\lib\gdk-pixbuf-2.0 +# C:\testme\msys64\mingw64\lib\girepository-1.0 +# C:\testme\msys64\mingw64\lib\glib-2.0 +# C:\testme\msys64\mingw64\lib\gtk-3.0 +# C:\testme\msys64\mingw64\lib\python3.7 +# C:\testme\msys64\mingw64\lib\thread2.8.4 +# C:\testme\msys64\mingw64\share\gir-1.0 +# C:\testme\msys64\mingw64\share\glib-2.0 +# C:\testme\msys64\mingw64\share\gtk-3.0 +# C:\testme\msys64\mingw64\share\icons +# C:\testme\msys64\mingw64\share\locale +# C:\testme\msys64\mingw64\share\themes +# C:\testme\msys64\mingw64\share\thumbnailers +# C:\testme\msys64\tmp +# C:\testme\msys64\usr\bin\bash +# C:\testme\msys64\usr\bin\chmod +# C:\testme\msys64\usr\bin\cygpath +# C:\testme\msys64\usr\bin\cygwin-console-helper +# C:\testme\msys64\usr\bin\env +# C:\testme\msys64\usr\bin\find +# C:\testme\msys64\usr\bin\findfs +# C:\testme\msys64\usr\bin\hostid +# C:\testme\msys64\usr\bin\hostname +# C:\testme\msys64\usr\bin\iconv +# C:\testme\msys64\usr\bin\id +# C:\testme\msys64\usr\bin\ln +# C:\testme\msys64\usr\bin\locale +# C:\testme\msys64\usr\bin\mintty +# C:\testme\msys64\usr\bin\mkdir +# C:\testme\msys64\usr\bin\msys-2.0.dll +# C:\testme\msys64\usr\bin\msys-gcc_s-1.dll +# C:\testme\msys64\usr\bin\msys-iconv-2.dll +# C:\testme\msys64\usr\bin\msys-intl-8.dll +# C:\testme\msys64\usr\bin\test +# C:\testme\msys64\usr\bin\tzset +# +# - Now go into the C:\testme\msys64\home\YOURNAME\tartube\nsis folder, and +# MOVE all the windows batch files into the folder above, i.e. into +# C:\testme\msys64\home\YOURNAME\tartube +# - Next, COPY all the remaining files in +# C:\testme\msys64\home\YOURNAME\tartube\nsis to C:\testme +# - Create the installer by compiling the NSIS script, +# C:\testme\tartube_install_64bit.nsi (the quickest way to do this is +# by right-clicking the file and selecting 'Compile NSIS script file') +# - When NSIS is finished, the installer appears in C:\testme # Header files # ------------------------------- @@ -207,7 +140,7 @@ ;Name and file Name "Tartube" - OutFile "install-tartube-0.7.0-64bit.exe" + OutFile "install-tartube-1.0.0-64bit.exe" ;Default installation folder InstallDir "$LOCALAPPDATA\Tartube" @@ -312,7 +245,7 @@ Section "Tartube" SecClient "Publisher" "A S Lewis" WriteRegStr HKLM \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tartube" \ - "DisplayVersion" "0.7.0" + "DisplayVersion" "1.0.0" # Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" @@ -327,10 +260,10 @@ Section "Uninstall" Delete "$SMPROGRAMS\Tartube\Tartube.lnk" Delete "$SMPROGRAMS\Tartube\Uninstall Tartube.lnk" Delete "$SMPROGRAMS\Tartube\Gtk graphics test.lnk" - RmDir "$SMPROGRAMS\Tartube" + RMDir /r "$SMPROGRAMS\Tartube" Delete "$DESKTOP\Tartube.lnk" - RMDir "$INSTDIR" + RMDir /r "$INSTDIR" Delete "$INSTDIR\Uninstall.exe" DeleteRegKey HKLM \ diff --git a/setup.py b/setup.py index 96b36ccd..a8088ca1 100755 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ # Setup setuptools.setup( name='tartube', - version='0.7.0', + version='1.0.0', description='GUI front-end for youtube-dl', # long_description=long_description, long_description="""Tartube is a GUI front-end for youtube-dl, partly based diff --git a/tartube b/tartube index 4d081db1..807b9a1a 100755 --- a/tartube +++ b/tartube @@ -34,8 +34,8 @@ from lib import mainapp # 'Global' variables __packagename__ = 'tartube' -__version__ = '0.7.0' -__date__ = '7 Jul 2019' +__version__ = '1.0.0' +__date__ = '31 Jul 2019' __copyright__ = 'Copyright \xa9 2019 A S Lewis' __license__ = """ Copyright \xc2\xa9 2019 A S Lewis.