# Angry Metal Guy Player
[![Latest version](https://img.shields.io/pypi/v/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)
[![Tests status](https://github.com/desbma/amg-player/actions/workflows/ci.yml/badge.svg)](https://github.com/desbma/amg-player/actions)
[![Coverage](https://img.shields.io/coveralls/desbma/amg-player/master.svg?style=flat)](https://coveralls.io/github/desbma/amg-player?branch=master)
[![Lines of code](https://tokei.rs/b1/github/desbma/amg-player)](https://github.com/desbma/amg-player)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)
[![License](https://img.shields.io/github/license/desbma/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg/)
Angry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from [Angry Metal Guy](https://www.angrymetalguy.com/) reviews.
I created this because:
- I like Angry Metal Guy, and discovered great music (both metal and totally non-metal) thanks to their reviews
- I often disagree with their ratings (in fact I disagree more often than I agree), both for overrating and underrating
- Even when I disagree, I like reading their reviews
- I want to listen to the music **before** I read the review, to avoid getting influenced
- To be efficient, I want to listen to the tracks like a radio, and read the review to learn more only when I like something
## Features
- Can work either in interactive mode (manually select tracks) or totally automatic (play new tracks like a radio)
- Supports embedded tracks from: YouTube, Bandcamp, SoundCloud, ReverbNation
- Plays YouTube video if available, or generates a video on the fly with the cover image + audio track(s) (requires FFmpeg)
- Can download tracks (with embedded album art) to play later
## Screenshots
Selection screen:
[![selection image](https://i.imgur.com/Ijrjd0Am.png)](https://i.imgur.com/Ijrjd0A.png)
Playing a track:
[![playing image](https://i.imgur.com/pXUScj2m.png)](https://i.imgur.com/pXUScj2.png)
## Installation
Angry Metal Guy Player requires [Python](https://www.python.org/downloads/) >= 3.7.
Some features are only available if [FFmpeg](https://ffmpeg.org/download.html) >= 2.8 is installed.
### From PyPI (with PIP)
1. If you don't already have it, [install pip](https://pip.pypa.io/en/stable/installing/) for Python 3
2. Install Angry Metal Guy Player: `pip3 install amg-player`
### From source
1. If you don't already have it, [install setuptools](https://pypi.python.org/pypi/setuptools#installation-instructions) for Python 3
2. Clone this repository: `git clone https://github.com/desbma/amg-player`
3. Install Angry Metal Guy Player: `python3 setup.py install`
**Angry Metal Guy Player only supports [MPV player](https://mpv.io/) for now.**
## Command line usage
Run `amg -h` to get full command line reference.
### Examples
- Browse and play interactively last 50 reviews:
`amg -c 50`
- Choose the first track to play, then play all tracks in chronological order:
`amg -m radio`
- Play last 20 tracks in chronological order, skipping those already played:
`amg -c 20 -m discover`
## License
[GPLv3](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/desbma/amg-player",
"name": "amg-player",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "music,metal,extreme,angry,guy,player,youtube,bandcamp,soundcloud",
"author": "desbma",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ef/47/873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e/amg-player-2024.3.12.0.tar.gz",
"platform": null,
"description": "# Angry Metal Guy Player\n\n[![Latest version](https://img.shields.io/pypi/v/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)\n[![Tests status](https://github.com/desbma/amg-player/actions/workflows/ci.yml/badge.svg)](https://github.com/desbma/amg-player/actions)\n[![Coverage](https://img.shields.io/coveralls/desbma/amg-player/master.svg?style=flat)](https://coveralls.io/github/desbma/amg-player?branch=master)\n[![Lines of code](https://tokei.rs/b1/github/desbma/amg-player)](https://github.com/desbma/amg-player)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)\n[![License](https://img.shields.io/github/license/desbma/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg/)\n\nAngry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from [Angry Metal Guy](https://www.angrymetalguy.com/) reviews.\n\nI created this because:\n\n- I like Angry Metal Guy, and discovered great music (both metal and totally non-metal) thanks to their reviews\n- I often disagree with their ratings (in fact I disagree more often than I agree), both for overrating and underrating\n- Even when I disagree, I like reading their reviews\n- I want to listen to the music **before** I read the review, to avoid getting influenced\n- To be efficient, I want to listen to the tracks like a radio, and read the review to learn more only when I like something\n\n## Features\n\n- Can work either in interactive mode (manually select tracks) or totally automatic (play new tracks like a radio)\n- Supports embedded tracks from: YouTube, Bandcamp, SoundCloud, ReverbNation\n- Plays YouTube video if available, or generates a video on the fly with the cover image + audio track(s) (requires FFmpeg)\n- Can download tracks (with embedded album art) to play later\n\n## Screenshots\n\nSelection screen: \n[![selection image](https://i.imgur.com/Ijrjd0Am.png)](https://i.imgur.com/Ijrjd0A.png)\n\nPlaying a track: \n[![playing image](https://i.imgur.com/pXUScj2m.png)](https://i.imgur.com/pXUScj2.png)\n\n## Installation\n\nAngry Metal Guy Player requires [Python](https://www.python.org/downloads/) >= 3.7.\nSome features are only available if [FFmpeg](https://ffmpeg.org/download.html) >= 2.8 is installed.\n\n### From PyPI (with PIP)\n\n1. If you don't already have it, [install pip](https://pip.pypa.io/en/stable/installing/) for Python 3\n2. Install Angry Metal Guy Player: `pip3 install amg-player`\n\n### From source\n\n1. If you don't already have it, [install setuptools](https://pypi.python.org/pypi/setuptools#installation-instructions) for Python 3\n2. Clone this repository: `git clone https://github.com/desbma/amg-player`\n3. Install Angry Metal Guy Player: `python3 setup.py install`\n\n**Angry Metal Guy Player only supports [MPV player](https://mpv.io/) for now.**\n\n## Command line usage\n\nRun `amg -h` to get full command line reference.\n\n### Examples\n\n- Browse and play interactively last 50 reviews:\n\n `amg -c 50`\n\n- Choose the first track to play, then play all tracks in chronological order:\n\n `amg -m radio`\n\n- Play last 20 tracks in chronological order, skipping those already played:\n\n `amg -c 20 -m discover`\n\n## License\n\n[GPLv3](https://www.gnu.org/licenses/gpl-3.0-standalone.html)\n",
"bugtrack_url": null,
"license": "",
"summary": "Browse & play embedded tracks from Angry Metal Guy music reviews",
"version": "2024.3.12.0",
"project_urls": {
"Download": "https://github.com/desbma/amg-player/archive/2024.03.12.0.tar.gz",
"Homepage": "https://github.com/desbma/amg-player"
},
"split_keywords": [
"music",
"metal",
"extreme",
"angry",
"guy",
"player",
"youtube",
"bandcamp",
"soundcloud"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ef47873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e",
"md5": "de6477db977540481acc9a0fdb74510f",
"sha256": "f1eb719d426d0139490ee4b751129ad3000196531e6dfd97a20c55ab2eb19a0c"
},
"downloads": -1,
"filename": "amg-player-2024.3.12.0.tar.gz",
"has_sig": false,
"md5_digest": "de6477db977540481acc9a0fdb74510f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 49814,
"upload_time": "2024-03-12T22:46:51",
"upload_time_iso_8601": "2024-03-12T22:46:51.000511Z",
"url": "https://files.pythonhosted.org/packages/ef/47/873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e/amg-player-2024.3.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-12 22:46:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "desbma",
"github_project": "amg-player",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "appdirs",
"specs": [
[
">=",
"1.4.3"
]
]
},
{
"name": "cssselect",
"specs": [
[
">=",
"1.0.3"
]
]
},
{
"name": "curses-menu",
"specs": [
[
"==",
"0.5.0"
]
]
},
{
"name": "lxml",
"specs": [
[
">=",
"4.3.3"
]
]
},
{
"name": "more_itertools",
"specs": [
[
">=",
"8.3.0"
]
]
},
{
"name": "mutagen",
"specs": [
[
">=",
"1.42.0"
]
]
},
{
"name": "Pillow",
"specs": [
[
">=",
"6.0.0"
]
]
},
{
"name": "python-magic",
"specs": [
[
">=",
"0.4.27"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.22.0"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.28.1"
]
]
},
{
"name": "unidecode",
"specs": [
[
">=",
"1.0.23"
]
]
},
{
"name": "web_cache",
"specs": [
[
">=",
"1.1.0"
]
]
},
{
"name": "yt-dlp",
"specs": [
[
">=",
"2023.12.30"
]
]
}
],
"lcname": "amg-player"
}