Skip to content

Commit

Permalink
Merge pull request #4 from jeanslack/make_setup_and_desktop
Browse files Browse the repository at this point in the history
update screenshot and preview
  • Loading branch information
jeanslack authored Feb 9, 2022
2 parents 73d351f + 95e9f64 commit 2701317
Show file tree
Hide file tree
Showing 20 changed files with 360 additions and 121 deletions.
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FFcuesplitter-GUI
GUI audio splitter for audio CD images supplied with CUE sheet.
Splits the audio CD images supplied with the CUE sheet via FFmpeg.

Author:
Gianluca (jeanslack) Pernigotto <[email protected]>
Expand Down
7 changes: 4 additions & 3 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ License: GPL3
Change Log:

+------------------------------------+
Feb 07, 2022 V.1.0.1
Feb 09, 2022 V.1.0.1

- Fixed `FileNotFoundError` exception if the log directory does not yet exist.
- fixed kill app during current processing.
Expand All @@ -24,11 +24,12 @@ Feb 07, 2022 V.1.0.1
- Update Italian translation (work in progress)
- Fixed minor bugs.
- Italian translation completed.

- Improved track_info layout.
- Improved text items and related Italian translation.


- Made setup.py.
- Fixed *.desktop file entries.
- Improved no checkbox checked.

+------------------------------------+
Feb 02, 2022 V.1.0.0
Expand Down
2 changes: 0 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
include launcher README.md AUTHORS BUGS CHANGELOG INSTALL LICENSE TODO
include tests/*
recursive-include debian *
recursive-include develop *
recursive-include docs *
recursive-include ffcuesplitter_gui/art *
Expand Down
50 changes: 38 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,43 @@
# **FFcuesplitter-GUI** is an audio splitter GUI for audio CD images supplied with CUE sheet.
[![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/)
[![image](https://img.shields.io/badge/wxpython-phoenix-green)](https://www.wxpython.org/)
[![Image](https://img.shields.io/badge/license-GPLv3-orange)](https://github.com/jeanslack/Videomass/blob/master/LICENSE)
![image](https://img.shields.io/badge/platform-linux%20|%20freebsd%20|%20macos%20|%20windows-brigthgreen)
[![Image](https://img.shields.io/badge/license-GPLv3-orange)](https://github.com/jeanslack/FFcuesplitter-GUI/blob/main/LICENSE)
![image](https://img.shields.io/badge/platform-linux%20|%20freebsd%20|%20macos%20|%20windows-brigthgreen)

FFcuesplitter-GUI is a cross-platform GUI based on [FFcuesplitter](https://github.com/jeanslack/FFcuesplitter). It features a graphical interface for splitting tracks of CD audio images supplied with CUE sheet.
# FFcuesplitter-GUI

FFcuesplitter-GUI is written in Python3 with the wxPython-Phoenix toolkit.
Extracts audio tracks from an audio CD image supplied with the CUE sheet, using FFmpeg.

### Requirements
- **[Python >= 3.7.0](https://www.python.org/)**
- **[wxPython-Phoenix >= 4.0.3](https://wxpython.org/)**
- **[PyPubSub >= 4.0.3](https://pypi.org/project/PyPubSub/)**
- **[ffcuesplitter >= 1.0.3](https://pypi.org/project/ffcuesplitter/)**
- **[ffmpeg >=3.2](https://ffmpeg.org/)**
- **[ffprobe](https://ffmpeg.org/ffprobe.html)** (usually bundled with ffmpeg)
![preview](./docs/gui_preview.gif)

## Description

It is a cross-platform GUI for the [FFcuesplitter](https://github.com/jeanslack/FFcuesplitter)
library written in wxPython Phoenix. It features editable tags per track, checkboxes
for selecting the tracks to save, an audio CD properties viewer, support for wav,
flac, mp3 and ogg output formats with audio compression selectors and the
ability to copy audio codec without re-encoding.

## Requirements
- [Python >= 3.7.0](https://www.python.org/)
- [wxPython-Phoenix >= 4.0.3](https://wxpython.org/)
- [PyPubSub >= 4.0.3](https://pypi.org/project/PyPubSub/)
- [ffcuesplitter >= 1.0.7](https://pypi.org/project/ffcuesplitter/)
- [ffmpeg >=4.3](https://ffmpeg.org/)
- [ffprobe >=4.3](https://ffmpeg.org/ffprobe.html)

## Running from source code

```
git clone https://github.com/jeanslack/FFcuesplitter-GUI.git
cd FFcuesplitter-GUI
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
python3 launcher
```

## Authors
See [AUTHORS](AUTHORS) file

## License
The [GNU GENERAL PUBLIC LICENSE Version 3](LICENSE)
Binary file added docs/Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gui_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/man/man1/ffcuesplitter-gui.1.gz
Binary file not shown.
10 changes: 5 additions & 5 deletions ffcuesplitter_gui/_dialogs/infoprg.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
__author__,
__projecturl__,
__licensefull__,
__contact__
__contact__,
__version__
)
from ffcuesplitter_gui._sys import version


def info_gui(parent, prg_icon):
Expand All @@ -45,9 +45,9 @@ def info_gui(parent, prg_icon):
infoprg = wx.adv.AboutDialogInfo()
infoprg.SetIcon(wx.Icon(prg_icon, type=wx.BITMAP_TYPE_PNG))
infoprg.SetName(__appname__)
infoprg.SetVersion(f'{version.__version__}')
infoprg.SetDescription(_("A cross-platform GUI for the FFcuesplitter\n"
"library written in wxPython Phoenix"))
infoprg.SetVersion(f'{__version__}')
infoprg.SetDescription(_("Extracts audio tracks from an audio CD image\n"
"supplied with the CUE sheet, using FFmpeg."))
infoprg.SetCopyright(f'Copyleft {__copyleft__} {__author__}')
infoprg.SetWebSite(__projecturl__)
infoprg.SetLicence(__licensefull__)
Expand Down
4 changes: 2 additions & 2 deletions ffcuesplitter_gui/_main/main_frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
from ffcuesplitter_gui._dialogs.showlogs import ShowLogs
from ffcuesplitter_gui._panels import cuesplitter_panel
from ffcuesplitter_gui._io import io_tools
from ffcuesplitter_gui._sys import version
from ffcuesplitter_gui._sys.info import __version__
from ffcuesplitter_gui._sys.settings_manager import ConfigManager


Expand Down Expand Up @@ -340,7 +340,7 @@ def check_new_releases(self, event):
Compare the FFcuesplitter-GUI version with a given
new version found on github.
"""
this = version.__version__ # this version
this = __version__ # this version
url = ("https://api.github.com/repos/jeanslack/"
"FFcuesplitter-GUI/releases/latest")
vers = io_tools.get_github_releases(url, "tag_name")
Expand Down
7 changes: 7 additions & 0 deletions ffcuesplitter_gui/_panels/cuesplitter_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,13 @@ def on_start(self):

count = self.tlist.GetItemCount()
indexes = [x for x in range(count) if not check(x)]

if count == len(indexes): # no track to extract
wx.MessageBox(_('No track to extract. Check at '
'least one checkbox'), "FFcuesplitter-GUI",
wx.ICON_WARNING, self)
return

if indexes:
for index in sorted(indexes, reverse=True):
args['arguments'].pop(index)
Expand Down
6 changes: 4 additions & 2 deletions ffcuesplitter_gui/_sys/argparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@
import sys
from shutil import which
import argparse
from ffcuesplitter_gui._sys.info import (__appname__, __descriptionfull__)
from ffcuesplitter_gui._sys.version import __version__
from ffcuesplitter_gui._sys.info import (__appname__,
__descriptionfull__,
__version__
)
try:
import wx
MSGWX = f"{wx.version()})"
Expand Down
19 changes: 11 additions & 8 deletions ffcuesplitter_gui/_sys/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,24 @@
You should have received a copy of the GNU General Public License
along with FFcuesplitter-GUI. If not, see <http://www.gnu.org/licenses/>.
"""
__author__ = "Gianluca Pernigotto (jeanslack)"
__version__ = "1.0.1"
__author__ = "Gianluca Pernigotto"
__contact__ = "[email protected]"
__maintainer__ = "Gianluca Pernigotto (jeanslack)"
__maintainer_contact__ = "[email protected]"
__projecturl__ = "https://github.com/jeanslack/FFcuesplitter-GUI"
__githuburl__ = "https://github.com/jeanslack/FFcuesplitter-GUI"
__appname__ = "FFcuesplitter-GUI"
__appname__ = "FFcuesplitter-gui"
__packagename__ = "ffcuesplitter_gui"
__license__ = "GPL3 (Gnu Public License)"
__description__ = ("A cross-platform GUI for the FFcuesplitter "
"library written in wxPython Phoenix")
__descriptionfull__ = """FFcuesplitter-GUI is a cross-platform GUI based
on FFcuesplitter (https://github.com/jeanslack/FFcuesplitter) written in
wxPython-Phoenix. Splits the audio CD images tracks supplied with CUE sheet
via FFmpeg."""
__description__ = ("FFcuesplitter-gui extracts audio tracks from an audio CD "
"image supplied with the CUE sheet, using FFmpeg.")
__descriptionfull__ = """It is a cross-platform GUI for the FFcuesplitter
library written in wxPython Phoenix. It features editable tags per track,
checkboxes for selecting the tracks to save, an audio CD properties viewer,
support for wav, flac, mp3 and ogg output formats with audio compression
selectors and the ability to copy audio codec without re-encoding.
"""
__copyleft__ = '2022'
__licensefull__ = f"""
copyleft - {__copyleft__} {__author__}
Expand Down
27 changes: 0 additions & 27 deletions ffcuesplitter_gui/_sys/version.py

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[Desktop Entry]
Version=1.0
Type=Application

Name=FFcuesplitter-gui
Comment=Extracts audio tracks from an audio CD image using FFmpeg.
Categories=AudioVideo;AudioVideoEditing;

Icon=ffcuesplittergui
Exec=ffcuesplitter-gui
Terminal=false
60 changes: 32 additions & 28 deletions ffcuesplitter_gui/locale/ffcuesplitter-gui.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-08 11:19+0100\n"
"POT-Creation-Date: 2022-02-09 15:36+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
Expand Down Expand Up @@ -58,8 +58,8 @@ msgstr ""

#: ../_dialogs/infoprg.py:49
msgid ""
"A cross-platform GUI for the FFcuesplitter\n"
"library written in wxPython Phoenix"
"Extracts audio tracks from an audio CD image\n"
"supplied with the CUE sheet, using FFmpeg."
msgstr ""

#: ../_dialogs/preferences.py:79
Expand Down Expand Up @@ -161,7 +161,7 @@ msgid "Logging levels"
msgstr ""

#: ../_dialogs/preferences.py:256 ../_dialogs/preferences.py:512
#: ../_dialogs/preferences.py:522 ../_dialogs/track_info.py:173
#: ../_dialogs/preferences.py:522 ../_dialogs/track_info.py:178
#: ../_main/main_frame.py:473
msgid "Settings"
msgstr ""
Expand All @@ -175,7 +175,7 @@ msgstr ""
msgid "Choose the {} executable"
msgstr ""

#: ../_dialogs/preferences.py:512 ../_dialogs/track_info.py:173
#: ../_dialogs/preferences.py:512 ../_dialogs/track_info.py:178
msgid "Not yet implemented"
msgstr ""

Expand Down Expand Up @@ -215,49 +215,49 @@ msgstr ""
msgid "Track ({}) Audio Tag"
msgstr ""

#: ../_dialogs/track_info.py:55 ../_panels/cuesplitter_panel.py:189
#: ../_dialogs/track_info.py:56 ../_panels/cuesplitter_panel.py:189
msgid "Artist"
msgstr ""

#: ../_dialogs/track_info.py:61 ../_panels/cuesplitter_panel.py:192
#: ../_dialogs/track_info.py:63 ../_panels/cuesplitter_panel.py:192
msgid "Album"
msgstr ""

#: ../_dialogs/track_info.py:69
msgid "Comment"
msgstr ""

#: ../_dialogs/track_info.py:80
#: ../_dialogs/track_info.py:73
msgid "Track Title"
msgstr ""

#: ../_dialogs/track_info.py:88
#: ../_dialogs/track_info.py:82
msgid "Genre"
msgstr ""

#: ../_dialogs/track_info.py:98
#: ../_dialogs/track_info.py:92
msgid "Date"
msgstr ""

#: ../_dialogs/track_info.py:106
#: ../_dialogs/track_info.py:101
msgid "Disc ID"
msgstr ""

#: ../_dialogs/track_info.py:122
#: ../_dialogs/track_info.py:109
msgid "Comment"
msgstr ""

#: ../_dialogs/track_info.py:127
msgid "Apply"
msgstr ""

#: ../_dialogs/track_info.py:163
#: ../_dialogs/track_info.py:168
msgid "Track ({}) Audio Tag (EDITED)*"
msgstr ""

#: ../_dialogs/track_info.py:188
#: ../_dialogs/track_info.py:201
msgid ""
"Do you want to apply the new tag properties to the selected track?\n"
"\n"
msgstr ""

#: ../_dialogs/track_info.py:190 ../_main/main_frame.py:139
#: ../_dialogs/track_info.py:203 ../_main/main_frame.py:139
msgid "Please confirm"
msgstr ""

Expand Down Expand Up @@ -591,41 +591,45 @@ msgstr ""
msgid "Open a CUE sheet"
msgstr ""

#: ../_panels/cuesplitter_panel.py:423
#: ../_panels/cuesplitter_panel.py:402
msgid "No track to extract. Check at least one checkbox"
msgstr ""

#: ../_panels/cuesplitter_panel.py:430
msgid "wait... I'm aborting"
msgstr ""

#: ../_panels/cuesplitter_panel.py:442
#: ../_panels/cuesplitter_panel.py:449
msgid "Processing... Track number: {} | Status Progress: {}%"
msgstr ""

#: ../_panels/cuesplitter_panel.py:470
#: ../_panels/cuesplitter_panel.py:477
msgid "...Interrupted"
msgstr ""

#: ../_panels/cuesplitter_panel.py:473
#: ../_panels/cuesplitter_panel.py:480
msgid "ERROR: Please open the Logs window to get more details."
msgstr ""

#: ../_panels/cuesplitter_panel.py:476
#: ../_panels/cuesplitter_panel.py:483
msgid "ERROR!"
msgstr ""

#: ../_panels/cuesplitter_panel.py:476
#: ../_panels/cuesplitter_panel.py:483
msgid ""
"An error has occurred.\n"
"See Logs for details."
msgstr ""

#: ../_panels/cuesplitter_panel.py:482
#: ../_panels/cuesplitter_panel.py:489
msgid "...Finished!"
msgstr ""

#: ../_panels/cuesplitter_panel.py:484
#: ../_panels/cuesplitter_panel.py:491
msgid "Success!"
msgstr ""

#: ../_panels/cuesplitter_panel.py:484
#: ../_panels/cuesplitter_panel.py:491
msgid "Get your files at the destination specified"
msgstr ""

Expand Down
Binary file modified ffcuesplitter_gui/locale/it_IT/LC_MESSAGES/ffcuesplitter-gui.mo
Binary file not shown.
Loading

0 comments on commit 2701317

Please sign in to comment.