Metadata-Version: 2.1
Name: GhettoRecorder
Version: 2.4.3
Summary: command line internet radio grabber with listen capabilities
Author: René Horn
Author-email: rene_horn@gmx.net
License: MIT License
        ===========
        
        Copyright (c) [2022] [René Horn]
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: homepage, https://github.com/44xtc44
Project-URL: documentation, https://GhettoRecorder.readthedocs.io/
Project-URL: repository, https://github.com/44xtc44/GhettoRecorder
Keywords: audio,aac repair
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: Linux
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Multimedia :: Sound/Audio :: Capture/Recording
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Provides-Extra: testing
License-File: LICENSE.rst

Documentation - GhettoRecorder
==============================
command line internet radio grabber with listen capabilities

Info
----
| It must be deployed as a Python package.
| The package can be called on commandline ``$ ghettorecorder`` directly.
| GhettoRecorder folder can be copied elsewhere, run ghetto_recorder.py from there.
|
| Multiple menu options are available:
|   * Custom save path (written to config)
|   * Title blacklist  (written to config)
|   * Store config file elsewhere
|   * Repair of aac files https://aacrepair.readthedocs.io/

Links
^^^^^
* Snap: https://snapcraft.io/ghettorecorder
* GitHub: https://github.com/44xtc44/GhettoRecorder
* ReadTheDocs: https://ghettorecorder.readthedocs.io/ (module index)

Configuration File
------------------
'Settings.ini' is the config file for GhettoRecorder.
INI files consist of sections to divide different settings.


| [STATIONS] is used for radio connection information
| anime_jp = ``http://streamingv2.shoutcast.com/japanimradio-tokyo``

| [GLOBAL] stores blacklist status and the parent save directory location
| blacklist_enable = ``True``
| save_to_dir = ``f:\31``


Usage
-----
Main Menu
^^^^^^^^^
::

    menu 'Main'
    1 -- Record (local listen option)
    2 -- Change parent record path
    3 -- Enable/disable blacklists
    4 -- Set path to config, settings.ini
    5 -- aac file repair
    6 -- Exit


Record Menu
^^^^^^^^^^^
::

    0 	>> aacchill             <<
    1 	>> 80ies_nl             <<
    2 	>> anime_jp             <<
    3 	>> blues_uk             <<
    4 	>> br24                 <<
    ...
    Enter to record -->:

| Write the leading Number (list index) into the input field . Hit 'Enter'.
| OR
| Write or copy/paste the radio name into the input field. Hit 'Enter'.
| Add as many radios as you like.
| Hit 'Enter' without input to start grabbing.
| Listen to the first selected radio via local streaming ``http://localhost:1242/``

Change parent record path Menu
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::

    option 'Change record parent path'
    1 -- New parent path for recorded radios. Write to config.
    2 -- Back to Main Menu
    Enter your choice: 1

        Write a new path to store files
    ..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
    Enter a new path, OS syntax (f:\10 or /home ) -->:

The default path is the directory of the module.
In most cases you want to store grabbed files somewhere else.

Blacklist Menu
^^^^^^^^^^^^^^
::

    Write a new blacklist option to settings.ini file
    ..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
    1 -- blacklist on (don't write title if already downloaded)
    2 -- blacklist off
    3 -- Back to Main Menu
    Enter your choice: 1

    	blacklist is ON: settings.ini file
    	Existing titles are not recorded again and again.
    file name is "blacklist.json" in the same folder as "settings.ini"
    ..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
    Hit Enter to leave -->:

| Blacklist writing can be switched on/off.
| Titles are listed for each of the radios and can be deleted to 'unlist' them.
| File name is ``blacklist.json`` and always in the same folder as 'settings.ini'.


Set path to config
^^^^^^^^^^^^^^^^^^
::

    Write Path to settings.ini and blacklist.json file
    Enter a new path, OS syntax (f:\10 or /home ) -->: F:\44
    	created: F:\44
    ..settings.ini [GLOBAL] section: {'blacklist_enable': 'True'}
    Hit Enter to leave -->:

| You can store your config file 'settings.ini' somewhere on the file system.
| Default place for grabbed files is the mentioned folder.
| If a custom save path is written to config, this path is used.


aac file repair
^^^^^^^^^^^^^^^
::

    Write a path to aac files. Only aac files will be touched.
    ..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
    Enter a path, OS syntax (f:\10 or /home ) -->:f:\6aac
    	created: f:\6aac
    	f:\6aac\aac_repair created
    [ COPY(s) in f:\6aac\aac_repair ]
    ----- 1 file(s) failed -----
    f:\6aac\Sergey Sirotin & Golden Light Orchestra - Around The World.aacp
    ValueError non-hexadecimal number found in fromhex() arg at position 5438113
    ----- 97 file(s) repaired -----
    f:\6aac\111_Slovo_Original_Mix.aac; cut(bytes): [330]
    f:\6aac\351 Lake Shore Drive - You Make My Day.aacp; cut(bytes): [389]

| The repair option uses a folder name as input.
| Repaired files are stored in 'aac_repair' sub folder.
| Cut bytes count is shown at the end of the line.
| Repair can fail if the file is corrupted not only at start or end.


Pip Install
^^^^^^^^^^^
::

   """ Linux """
   $ pip3 install ghettorecorder

   """ Windows """
   > pip install ghettorecorder


Uninstall
^^^^^^^^^

Python user

 * find the module location
 * uninstall and then remove remnants

remove::

   >$ pip3 show ghettorecorder
   >$ pip3 uninstall ghettorecorder

Location: ... /python310/site-packages
