Skip to content

Commit 10b6e41

Browse files
authored
Merge pull request #10 from jeanslack/testinstall
info update and install tests
2 parents 7c44857 + 844eba3 commit 10b6e41

10 files changed

+139
-42
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ Pipfile.lock
2020
*.DS_Store
2121
*.directory
2222
*.kate-swp
23+
portable_data
24+
My_Files
2325
*~

CHANGELOG

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ License: GPL3
77
Change Log:
88

99
+------------------------------------+
10-
Thu, 10 Aug 2023 V.1.0.5 (unreleased)
10+
Thu, 11 Aug 2023 V.1.0.5 (unreleased)
1111

1212
- Removed `wx.lib.mixins.listctrl` (with checkbox functionality)
1313
- Fixed code to new FFcuesplitter API v1.0.22.
@@ -17,9 +17,11 @@ Thu, 10 Aug 2023 V.1.0.5 (unreleased)
1717
conversion to integers using __int__ is deprecated, and may be removed
1818
in a future version of Python.
1919
self.barprog.SetValue(percent)`
20-
- Make output directory if doesn't exists (or if it was deleted)
20+
- Make output directory if doesn't exists (or if it was deleted).
2121
- Fixed output format issue.
2222
- Code factorized.
23+
- Updated README.md file and man page.
24+
- Updated INSTALL file for installation instructions.
2325

2426
+------------------------------------+
2527
Dec 14, 2022 V.1.0.2 (unreleased)

INSTALL

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Important Notes:
2+
----------------
3+
The instructions provided on this file assume you have Python installed and
4+
configured on your operating system.
5+
6+
Currently FFcuesplitter-gui is still under development and no pre-compiled packages
7+
have been distributed, but since it comes with a `setup.py` file, you can build it
8+
and install it very easily into your operating system as a Python wheel.
9+
10+
However, to achieve this a virtual python environment is recommended, for
11+
example using tools like `python3-venv` or `virtualenv`, which once activated,
12+
you can install packages in the virtual environment using pip and then installing
13+
FFcuesplitter-gui into it. At present, other installation methods that use
14+
administrative privileges such as superuser or root are strongly discouraged.
15+
16+
Documentation:
17+
- https://docs.python.org/3/library/venv.html
18+
- https://docs.python-guide.org/dev/virtualenvs/
19+
- https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment
20+
- https://stackoverflow.com/questions/41573587/what-is-the-difference-between-venv-pyvenv-pyenv-virtualenv-virtualenvwrappe
21+
22+
-----
23+
Linux
24+
-----
25+
26+
First of all, install the essential packages using the package manager provided
27+
by your linux distribution, then install wxPython version 4.0.7 or higher.
28+
On debian-based distributions (Ubuntu, Kubuntu, Lubuntu, Mint, MXLinux, etc)
29+
this package is identified as `python3-wxgtk4.0` .
30+
Aldo make sure you have `ffmpeg` and `ffprobe` already installed.
31+
32+
Activate your virtual Python directory:
33+
$ source 'path_to_environment_directory/bin/activate'
34+
35+
To install FFcuesplitter-gui, open a terminal window and type:
36+
$ python3 -m pip install https://github.com/jeanslack/FFcuesplitter-GUI/tarball/main
37+
38+
To run the program type:
39+
$ ffcuesplitter-gui
40+
41+
-------
42+
Windows
43+
-------
44+
45+
Activate your virtual Python directory:
46+
.\path_to_environment_directory\Scripts\activate
47+
48+
To install FFcuesplitter-gui type:
49+
python -m pip install https://github.com/jeanslack/FFcuesplitter-GUI/tarball/main
50+
51+
Make sure you have ffmpeg and ffprobe available somewhere on your system, as
52+
these dependencies are not provided automatically by FFcuesplitter-gui.
53+
54+
Once you have ffmpeg and ffprobe, start FFcuesplitter-gui (just type ffcuesplitter-gui
55+
in your command prompt window), click the Setup button, go to the FFmpeg tab and
56+
provide the location on your file system.
57+
58+
-----
59+
MacOS
60+
-----
61+
62+
Activate your virtual Python directory:
63+
$ source 'path_to_environment_directory/bin/activate'
64+
65+
To install FFcuesplitter-gui type:
66+
$ python3 -m pip install https://github.com/jeanslack/FFcuesplitter-GUI/tarball/main
67+
68+
To run the program type:
69+
$ ffcuesplitter-gui

README.md

+32-15
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1-
[![Image](https://img.shields.io/static/v1?label=python&logo=python&message=3.7%20|%203.8|%203.9&color=blue)](https://www.python.org/downloads/)
1+
[![Image](https://img.shields.io/static/v1?label=python&logo=python&message=3.7%20|%203.8%20|%203.9%20|%203.10|%203.11&color=blue)](https://www.python.org/downloads/)
22
[![Image](https://img.shields.io/badge/license-GPLv3-orange)](https://github.com/jeanslack/FFcuesplitter-GUI/blob/main/LICENSE)
33

44
# FFcuesplitter-GUI
55

6-
Graphical interface for [FFcuesplitter](https://github.com/jeanslack/FFcuesplitter),
7-
written in wxPython phoenix.
6+
A simple graphical user interface to extracts audio tracks from audio CD images
7+
supplied with a CUE sheet.
88

99
![preview](./docs/gui_preview.gif)
1010

1111
## Description
1212

13-
It is a cross-platform GUI for the [FFcuesplitter](https://github.com/jeanslack/FFcuesplitter)
14-
library written in wxPython Phoenix. It features editable tags per track, checkboxes
15-
to select track extractions, an audio CD properties viewer, support for WAV,
16-
FLAC, MP3 and OGG output formats, audio compression selectors and the ability
17-
to copy audio codec without re-encoding.
13+
FFcuesplitter-GUI is a cross-platform GUI written in wxPython Phoenix. It is
14+
based on the [FFcuesplitter](https://github.com/jeanslack/FFcuesplitter) library,
15+
which is based on FFmpeg for audio track extraction and encoding processes.
16+
It features editable tags per track, an audio CD properties viewer, support for
17+
WAV, FLAC, MP3, OGG, OPUS output formats, audio compression selectors and the
18+
ability to copy audio codec without re-encoding.
1819

1920
## Requirements
20-
- [Python >= 3.7.0](https://www.python.org/)
21-
- [wxPython-Phoenix >= 4.0.7](https://wxpython.org/)
22-
- [PyPubSub >= 4.0.3](https://pypi.org/project/PyPubSub/)
23-
- [ffcuesplitter >= 1.0.7](https://pypi.org/project/ffcuesplitter/)
24-
- [ffmpeg >=4.3](https://ffmpeg.org/)
25-
- [ffprobe >=4.3](https://ffmpeg.org/ffprobe.html)
21+
- **[Python >= 3.7.0](https://www.python.org/)**
22+
- **[wxPython-Phoenix >= 4.0.7](https://wxpython.org/)**
23+
- **[PyPubSub >= 4.0.3](https://pypi.org/project/PyPubSub/)**
24+
- **[ffcuesplitter >= 1.0.22](https://pypi.org/project/ffcuesplitter/)**
25+
- **[ffmpeg >=4.3](https://ffmpeg.org/)**
26+
- **[ffprobe >=4.3](https://ffmpeg.org/ffprobe.html)**
2627

27-
## Running from source code
28+
## Running from source code (Unix/macOS)
2829

2930
```
3031
git clone https://github.com/jeanslack/FFcuesplitter-GUI.git
@@ -35,6 +36,22 @@ python3 -m pip install -r requirements.txt
3536
python3 launcher
3637
```
3738

39+
## Running from source code (Windows)
40+
41+
```
42+
git clone https://github.com/jeanslack/FFcuesplitter-GUI.git
43+
cd FFcuesplitter-GUI
44+
python -m venv My_env
45+
.\My_env\Scripts\activate
46+
python -m pip install -r requirements.txt
47+
python launcher
48+
```
49+
50+
## Installation
51+
52+
Please, read the instructions provided with the [INSTALL](https://github.com/jeanslack/FFcuesplitter-GUI/blob/main/INSTALL) file
53+
54+
3855
## Authors
3956
See [AUTHORS](AUTHORS) file
4057

TODO

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22

3-
- check code with a linter (flake8/pylint)
3+
- [DONE] check code with a linter (flake8/pylint)
44
- Make io.github.jeanslack.ffcuesplitter-gui.desktop.
5-
- Make ffcuesplitter-gui.icns.
6-
- make ffcuesplitter-gui.ico
5+
- Make ffcuesplitter-gui.icns (MacOs)
6+
- Make ffcuesplitter-gui.ico (Windows)
77

88
- Complete the Italian translation.
99
- Make localization guidelines
@@ -14,7 +14,8 @@
1414
- Make debian dir.
1515
- Write INSTALL basic for installations.
1616

17-
BUG verifieds
18-
- Auto-make output folder if it doesn't exist.
19-
- The codec/output format is always flac even if you choose another format
17+
- [DONE] Auto-make output folder if it doesn't exist.
18+
- [DONE] The codec/output format is always flac even if you choose another format
2019
among those available (wav, opus, mp3, ogg)
20+
- Make GitHub workflow to test multiple Python version.
21+
- Fix button spaces as like confirmation buttons.

docs/man/man1/ffcuesplitter-gui.1.gz

66 Bytes
Binary file not shown.

ffcuesplitter_gui/_sys/info.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,13 @@
3535
__appname__ = "FFcuesplitter-gui"
3636
__packagename__ = "ffcuesplitter_gui"
3737
__license__ = "GPL3 (Gnu Public License)"
38-
__description__ = ("FFcuesplitter-gui extracts audio tracks from an audio CD "
39-
"image supplied with the CUE sheet, using FFmpeg.")
40-
__descriptionfull__ = """It is a cross-platform GUI for the FFcuesplitter
41-
library written in wxPython Phoenix. It features editable tags per track,
42-
checkboxes to select track extractions, an audio CD properties viewer, support
43-
for WAV, FLAC, MP3 and OGG output formats, audio compression selectors and the
38+
__description__ = ("A simple graphical user interface to extracts audio "
39+
"tracks from audio CD images supplied with a CUE sheet.")
40+
__descriptionfull__ = """FFcuesplitter-GUI is a cross-platform GUI written in
41+
wxPython Phoenix. It is based on the FFcuesplitter library, which is based on
42+
FFmpeg for audio track extraction and encoding processes.
43+
It features editable tags per track, an audio CD properties viewer, support for
44+
WAV, FLAC, MP3, OGG, OPUS output formats, audio compression selectors and the
4445
ability to copy audio codec without re-encoding.
4546
"""
4647
__copyleft__ = '2023'

io.github.jeanslack.ffcuesplitter_gui.appdata.xml

+10-7
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,24 @@
33
<id>io.github.jeanslack.ffcuesplitter_gui</id>
44

55
<name>FFcuesplitter-gui</name>
6-
<summary>A cross-platform GUI for the FFcuesplitter library written in wxPython Phoenix</summary>
6+
<summary>
7+
A simple graphical user interface to extracts audio tracks from audio CD
8+
images supplied with a CUE sheet.
9+
</summary>
710

811
<metadata_license>FSFAP</metadata_license>
912
<project_license>AGPL-3.0-only</project_license>
1013

1114
<description>
1215
<p>
13-
FFcuesplitter-gui extracts audio tracks from an audio CD image supplied
14-
with the CUE sheet, using FFmpeg.
16+
FFcuesplitter-GUI is a cross-platform GUI written in wxPython Phoenix.
17+
It is based on the FFcuesplitter library, which is based on FFmpeg for
18+
audio track extraction and encoding processes.
1519
</p>
1620
<p>
17-
It features editable tags per track, checkboxes to select track
18-
extractions, an audio CD properties viewer, support for WAV, FLAC, MP3 and
19-
OGG output formats, audio compression selectors and the ability to copy
20-
audio codec without re-encoding.
21+
It features editable tags per track, an audio CD properties viewer,
22+
support for WAV, FLAC, MP3, OGG, OPUS output formats, audio compression
23+
selectors and the ability to copy audio codec without re-encoding.
2124
</p>
2225
</description>
2326

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PyPubSub>=4.0.3
2-
ffcuesplitter>=1.0.7
2+
ffcuesplitter>=1.0.22
33

44
[:platform_system == "Windows" or platform_system == "Darwin"]
55
wxpython>=4.0.7

setup.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
Writer: Gianluca Pernigotto <[email protected]>
99
Copyright: 2023-2023 Gianluca Pernigotto <[email protected]>
1010
license: GPL3
11-
Rev: Feb.09.2022
11+
Rev: Aug.1.2023
1212
Code checker: flake8, pylint
1313
########################################################
1414
@@ -57,7 +57,7 @@ def source_build():
5757
inst_req = ["wxpython>=4.0.7; platform_system=='Windows' or "
5858
"platform_system=='Darwin'",
5959
"PyPubSub>=4.0.3",
60-
"ffcuesplitter>=1.0.7",
60+
"ffcuesplitter>=1.0.22",
6161
]
6262
setup_req = ["setuptools>=47.1.1",
6363
"wheel>=0.34.2",
@@ -71,7 +71,7 @@ def source_build():
7171
else: # e.g. to make a Debian source package, include wxpython.
7272
inst_req = ["wxpython>=4.0.7",
7373
"PyPubSub>=4.0.3",
74-
"ffcuesplitter>=1.0.7",
74+
"ffcuesplitter>=1.0.22",
7575
]
7676
setup_req = []
7777
long_descript = __descriptionfull__
@@ -148,8 +148,10 @@ def source_build():
148148
'Natural Language :: Russian',
149149
'Programming Language :: Python :: 3 :: Only',
150150
'Programming Language :: Python :: 3.7',
151-
"Programming Language :: Python :: 3.8",
152-
"Programming Language :: Python :: 3.9",
151+
'Programming Language :: Python :: 3.8',
152+
'Programming Language :: Python :: 3.9',
153+
'Programming Language :: Python :: 3.10',
154+
'Programming Language :: Python :: 3.11',
153155
'Topic :: Multimedia :: Sound/Audio',
154156
'Topic :: Multimedia :: Sound/Audio :: Conversion',
155157
'Topic :: Multimedia :: Sound/Audio :: CD Audio :: CD Ripping',

0 commit comments

Comments
 (0)