Redirect 302 redirect from GET @entry_comment_create (857d1f)

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.85 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.05 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
  +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
  +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
  +body: """
    <https://gitlab.com/christosangel/pyradion>\n
    \n
    Through the menus, the user can :\n
    \n
    - Select directly a station from the **Favorites** list (which is configurable).\n
    - Select a **random station** out of this list of Favorite stations.\n
    - Select a **tag** to pick a station from.\n
    - Select to pick a station from **All Stations**.\n
    - Select a **random station** out of this list of **#tag** stations.\n
    - **❌ Quit pyradion**.\n
    \n
    ---\n
    \n
    #### Recording\n
    \n
    **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
    \n
    ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
    \n
    The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
    \n
    **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
    \n
    If the title is available by the stream, the file will take its name by it.\n
    \n
    If title is `Not Available`, the file will take a date/time for name.\n
    \n
    #### Output File Format\n
    \n
    In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
    \n
    Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
    \n
    ---\n
    \n
    This project shares more or less the same logic with a previous project in `Bash`:\n
    \n
    <https://gitlab.com/christosangel/radion>\n
    \n
    although with this Python script some more features are available.\n
    \n
    ---
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 6
  +favouriteCount: 90
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701947501 {#2414
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13944
  -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
  -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700334975
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8393990"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700248575 {#1793
    date: 2023-11-17 20:16:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
  +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
  +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
  +body: """
    <https://gitlab.com/christosangel/pyradion>\n
    \n
    Through the menus, the user can :\n
    \n
    - Select directly a station from the **Favorites** list (which is configurable).\n
    - Select a **random station** out of this list of Favorite stations.\n
    - Select a **tag** to pick a station from.\n
    - Select to pick a station from **All Stations**.\n
    - Select a **random station** out of this list of **#tag** stations.\n
    - **❌ Quit pyradion**.\n
    \n
    ---\n
    \n
    #### Recording\n
    \n
    **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
    \n
    ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
    \n
    The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
    \n
    **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
    \n
    If the title is available by the stream, the file will take its name by it.\n
    \n
    If title is `Not Available`, the file will take a date/time for name.\n
    \n
    #### Output File Format\n
    \n
    In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
    \n
    Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
    \n
    ---\n
    \n
    This project shares more or less the same logic with a previous project in `Bash`:\n
    \n
    <https://gitlab.com/christosangel/radion>\n
    \n
    although with this Python script some more features are available.\n
    \n
    ---
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 6
  +favouriteCount: 90
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701947501 {#2414
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13944
  -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
  -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700334975
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8393990"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700248575 {#1793
    date: 2023-11-17 20:16:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
  +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
  +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
  +body: """
    <https://gitlab.com/christosangel/pyradion>\n
    \n
    Through the menus, the user can :\n
    \n
    - Select directly a station from the **Favorites** list (which is configurable).\n
    - Select a **random station** out of this list of Favorite stations.\n
    - Select a **tag** to pick a station from.\n
    - Select to pick a station from **All Stations**.\n
    - Select a **random station** out of this list of **#tag** stations.\n
    - **❌ Quit pyradion**.\n
    \n
    ---\n
    \n
    #### Recording\n
    \n
    **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
    \n
    ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
    \n
    The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
    \n
    **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
    \n
    If the title is available by the stream, the file will take its name by it.\n
    \n
    If title is `Not Available`, the file will take a date/time for name.\n
    \n
    #### Output File Format\n
    \n
    In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
    \n
    Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
    \n
    ---\n
    \n
    This project shares more or less the same logic with a previous project in `Bash`:\n
    \n
    <https://gitlab.com/christosangel/radion>\n
    \n
    although with this Python script some more features are available.\n
    \n
    ---
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 6
  +favouriteCount: 90
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701947501 {#2414
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13944
  -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
  -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700334975
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8393990"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700248575 {#1793
    date: 2023-11-17 20:16:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#4255
  +user: App\Entity\User {#4203 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat! Going to give this a go on my lunch break. Thanks!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1703317098 {#4264
    date: 2023-12-23 08:38:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4253 …}
  +nested: Doctrine\ORM\PersistentCollection {#4251 …}
  +votes: Doctrine\ORM\PersistentCollection {#4249 …}
  +reports: Doctrine\ORM\PersistentCollection {#4247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
  -id: 202800
  -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5845862"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701870904 {#4200
    date: 2023-12-06 14:55:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4255
  +user: App\Entity\User {#4203 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat! Going to give this a go on my lunch break. Thanks!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1703317098 {#4264
    date: 2023-12-23 08:38:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4253 …}
  +nested: Doctrine\ORM\PersistentCollection {#4251 …}
  +votes: Doctrine\ORM\PersistentCollection {#4249 …}
  +reports: Doctrine\ORM\PersistentCollection {#4247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
  -id: 202800
  -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5845862"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701870904 {#4200
    date: 2023-12-06 14:55:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4255
  +user: App\Entity\User {#4203 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat! Going to give this a go on my lunch break. Thanks!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1703317098 {#4264
    date: 2023-12-23 08:38:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4253 …}
  +nested: Doctrine\ORM\PersistentCollection {#4251 …}
  +votes: Doctrine\ORM\PersistentCollection {#4249 …}
  +reports: Doctrine\ORM\PersistentCollection {#4247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
  -id: 202800
  -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5845862"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701870904 {#4200
    date: 2023-12-06 14:55:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#4489
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: App\Entity\User {#4203 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Neat! Going to give this a go on my lunch break. Thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1703317098 {#4264
      date: 2023-12-23 08:38:18.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4253 …}
    +nested: Doctrine\ORM\PersistentCollection {#4251 …}
    +votes: Doctrine\ORM\PersistentCollection {#4249 …}
    +reports: Doctrine\ORM\PersistentCollection {#4247 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
    -id: 202800
    -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5845862"
    +editedAt: null
    +createdAt: DateTimeImmutable @1701870904 {#4200
      date: 2023-12-06 14:55:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4255}
  +body: "Hey let me know how it goes, any feedback is welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1701947501 {#4487
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@Hominine@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4490 …}
  +nested: Doctrine\ORM\PersistentCollection {#4492 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4496 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4498 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4500 …}
  -id: 206080
  -bodyTs: "'feedback':9 'goe':7 'hey':1 'know':4 'let':2 'welcom':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5867877"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701947501 {#4488
    date: 2023-12-07 12:11:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#4489
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: App\Entity\User {#4203 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Neat! Going to give this a go on my lunch break. Thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1703317098 {#4264
      date: 2023-12-23 08:38:18.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4253 …}
    +nested: Doctrine\ORM\PersistentCollection {#4251 …}
    +votes: Doctrine\ORM\PersistentCollection {#4249 …}
    +reports: Doctrine\ORM\PersistentCollection {#4247 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
    -id: 202800
    -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5845862"
    +editedAt: null
    +createdAt: DateTimeImmutable @1701870904 {#4200
      date: 2023-12-06 14:55:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4255}
  +body: "Hey let me know how it goes, any feedback is welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1701947501 {#4487
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@Hominine@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4490 …}
  +nested: Doctrine\ORM\PersistentCollection {#4492 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4496 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4498 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4500 …}
  -id: 206080
  -bodyTs: "'feedback':9 'goe':7 'hey':1 'know':4 'let':2 'welcom':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5867877"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701947501 {#4488
    date: 2023-12-07 12:11:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#4489
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: App\Entity\User {#4203 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Neat! Going to give this a go on my lunch break. Thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1703317098 {#4264
      date: 2023-12-23 08:38:18.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4253 …}
    +nested: Doctrine\ORM\PersistentCollection {#4251 …}
    +votes: Doctrine\ORM\PersistentCollection {#4249 …}
    +reports: Doctrine\ORM\PersistentCollection {#4247 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4215 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4219 …}
    -id: 202800
    -bodyTs: "'break':11 'give':4 'go':2,7 'lunch':10 'neat':1 'thank':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5845862"
    +editedAt: null
    +createdAt: DateTimeImmutable @1701870904 {#4200
      date: 2023-12-06 14:55:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4255}
  +body: "Hey let me know how it goes, any feedback is welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1701947501 {#4487
    date: 2023-12-07 12:11:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@Hominine@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4490 …}
  +nested: Doctrine\ORM\PersistentCollection {#4492 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4496 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4498 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4500 …}
  -id: 206080
  -bodyTs: "'feedback':9 'goe':7 'hey':1 'know':4 'let':2 'welcom':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5867877"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701947501 {#4488
    date: 2023-12-07 12:11:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED moderate
App\Entity\EntryComment {#4290
  +user: App\Entity\User {#4274 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1701406212 {#4296
    date: 2023-12-01 05:50:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4291 …}
  +nested: Doctrine\ORM\PersistentCollection {#4282 …}
  +votes: Doctrine\ORM\PersistentCollection {#4285 …}
  +reports: Doctrine\ORM\PersistentCollection {#4280 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
  -id: 160114
  -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560303"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700862692 {#4297
    date: 2023-11-24 22:51:32.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
15 DENIED edit
App\Entity\EntryComment {#4290
  +user: App\Entity\User {#4274 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1701406212 {#4296
    date: 2023-12-01 05:50:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4291 …}
  +nested: Doctrine\ORM\PersistentCollection {#4282 …}
  +votes: Doctrine\ORM\PersistentCollection {#4285 …}
  +reports: Doctrine\ORM\PersistentCollection {#4280 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
  -id: 160114
  -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560303"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700862692 {#4297
    date: 2023-11-24 22:51:32.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
16 DENIED moderate
App\Entity\EntryComment {#4290
  +user: App\Entity\User {#4274 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1701406212 {#4296
    date: 2023-12-01 05:50:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4291 …}
  +nested: Doctrine\ORM\PersistentCollection {#4282 …}
  +votes: Doctrine\ORM\PersistentCollection {#4285 …}
  +reports: Doctrine\ORM\PersistentCollection {#4280 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
  -id: 160114
  -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560303"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700862692 {#4297
    date: 2023-11-24 22:51:32.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
17 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
18 DENIED moderate
App\Entity\EntryComment {#4474
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4290
    +user: App\Entity\User {#4274 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1701406212 {#4296
      date: 2023-12-01 05:50:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4291 …}
    +nested: Doctrine\ORM\PersistentCollection {#4282 …}
    +votes: Doctrine\ORM\PersistentCollection {#4285 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
    -id: 160114
    -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5560303"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700862692 {#4297
      date: 2023-11-24 22:51:32.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4290}
  +body: "Thank you, I am glad you like it. I have been trying to improve it, adding functionalities, improving the selection mechanism with cursor and scrolling etc."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700863030 {#4472
    date: 2023-11-24 22:57:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@barbecue_sprinkler@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4475 …}
  +nested: Doctrine\ORM\PersistentCollection {#4477 …}
  +votes: Doctrine\ORM\PersistentCollection {#4479 …}
  +reports: Doctrine\ORM\PersistentCollection {#4481 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4483 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4485 …}
  -id: 160132
  -bodyTs: "'ad':16 'cursor':23 'etc':26 'function':17 'glad':5 'improv':14,18 'like':7 'mechan':21 'scroll':25 'select':20 'thank':1 'tri':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560442"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700863030 {#4473
    date: 2023-11-24 22:57:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
19 DENIED edit
App\Entity\EntryComment {#4474
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4290
    +user: App\Entity\User {#4274 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1701406212 {#4296
      date: 2023-12-01 05:50:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4291 …}
    +nested: Doctrine\ORM\PersistentCollection {#4282 …}
    +votes: Doctrine\ORM\PersistentCollection {#4285 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
    -id: 160114
    -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5560303"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700862692 {#4297
      date: 2023-11-24 22:51:32.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4290}
  +body: "Thank you, I am glad you like it. I have been trying to improve it, adding functionalities, improving the selection mechanism with cursor and scrolling etc."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700863030 {#4472
    date: 2023-11-24 22:57:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@barbecue_sprinkler@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4475 …}
  +nested: Doctrine\ORM\PersistentCollection {#4477 …}
  +votes: Doctrine\ORM\PersistentCollection {#4479 …}
  +reports: Doctrine\ORM\PersistentCollection {#4481 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4483 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4485 …}
  -id: 160132
  -bodyTs: "'ad':16 'cursor':23 'etc':26 'function':17 'glad':5 'improv':14,18 'like':7 'mechan':21 'scroll':25 'select':20 'thank':1 'tri':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560442"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700863030 {#4473
    date: 2023-11-24 22:57:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
20 DENIED moderate
App\Entity\EntryComment {#4474
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4290
    +user: App\Entity\User {#4274 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This is so sweet! And the amount of radio stations is astonishing. Thanks for sharing and your work."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1701406212 {#4296
      date: 2023-12-01 05:50:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4291 …}
    +nested: Doctrine\ORM\PersistentCollection {#4282 …}
    +votes: Doctrine\ORM\PersistentCollection {#4285 …}
    +reports: Doctrine\ORM\PersistentCollection {#4280 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4278 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4276 …}
    -id: 160114
    -bodyTs: "'amount':7 'astonish':12 'radio':9 'share':15 'station':10 'sweet':4 'thank':13 'work':18"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5560303"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700862692 {#4297
      date: 2023-11-24 22:51:32.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4290}
  +body: "Thank you, I am glad you like it. I have been trying to improve it, adding functionalities, improving the selection mechanism with cursor and scrolling etc."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700863030 {#4472
    date: 2023-11-24 22:57:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@barbecue_sprinkler@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4475 …}
  +nested: Doctrine\ORM\PersistentCollection {#4477 …}
  +votes: Doctrine\ORM\PersistentCollection {#4479 …}
  +reports: Doctrine\ORM\PersistentCollection {#4481 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4483 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4485 …}
  -id: 160132
  -bodyTs: "'ad':16 'cursor':23 'etc':26 'function':17 'glad':5 'improv':14,18 'like':7 'mechan':21 'scroll':25 'select':20 'thank':1 'tri':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5560442"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700863030 {#4473
    date: 2023-11-24 22:57:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
21 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
22 DENIED moderate
App\Entity\EntryComment {#4374
  +user: App\Entity\User {#4387 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Lovely! I'll go read the code as soon as I have some coffee."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700611752 {#4369
    date: 2023-11-22 01:09:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4375 …}
  +nested: Doctrine\ORM\PersistentCollection {#4377 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
  -id: 136515
  -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700301850 {#4370
    date: 2023-11-18 11:04:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
23 DENIED edit
App\Entity\EntryComment {#4374
  +user: App\Entity\User {#4387 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Lovely! I'll go read the code as soon as I have some coffee."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700611752 {#4369
    date: 2023-11-22 01:09:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4375 …}
  +nested: Doctrine\ORM\PersistentCollection {#4377 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
  -id: 136515
  -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700301850 {#4370
    date: 2023-11-18 11:04:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
24 DENIED moderate
App\Entity\EntryComment {#4374
  +user: App\Entity\User {#4387 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Lovely! I'll go read the code as soon as I have some coffee."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700611752 {#4369
    date: 2023-11-22 01:09:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4375 …}
  +nested: Doctrine\ORM\PersistentCollection {#4377 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
  -id: 136515
  -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700301850 {#4370
    date: 2023-11-18 11:04:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
25 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
26 DENIED moderate
App\Entity\EntryComment {#4460
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4374
    +user: App\Entity\User {#4387 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Lovely! I'll go read the code as soon as I have some coffee."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1700611752 {#4369
      date: 2023-11-22 01:09:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4375 …}
    +nested: Doctrine\ORM\PersistentCollection {#4377 …}
    +votes: Doctrine\ORM\PersistentCollection {#4379 …}
    +reports: Doctrine\ORM\PersistentCollection {#4381 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
    -id: 136515
    -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700301850 {#4370
      date: 2023-11-18 11:04:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4374}
  +body: "Thanks, any feedback would be welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700304183 {#4461
    date: 2023-11-18 11:43:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@vluz@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4457 …}
  +nested: Doctrine\ORM\PersistentCollection {#4453 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4466 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4468 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4470 …}
  -id: 136551
  -bodyTs: "'feedback':3 'thank':1 'welcom':6 'would':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5402413"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700304183 {#4464
    date: 2023-11-18 11:43:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
27 DENIED edit
App\Entity\EntryComment {#4460
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4374
    +user: App\Entity\User {#4387 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Lovely! I'll go read the code as soon as I have some coffee."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1700611752 {#4369
      date: 2023-11-22 01:09:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4375 …}
    +nested: Doctrine\ORM\PersistentCollection {#4377 …}
    +votes: Doctrine\ORM\PersistentCollection {#4379 …}
    +reports: Doctrine\ORM\PersistentCollection {#4381 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
    -id: 136515
    -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700301850 {#4370
      date: 2023-11-18 11:04:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4374}
  +body: "Thanks, any feedback would be welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700304183 {#4461
    date: 2023-11-18 11:43:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@vluz@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4457 …}
  +nested: Doctrine\ORM\PersistentCollection {#4453 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4466 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4468 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4470 …}
  -id: 136551
  -bodyTs: "'feedback':3 'thank':1 'welcom':6 'would':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5402413"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700304183 {#4464
    date: 2023-11-18 11:43:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
28 DENIED moderate
App\Entity\EntryComment {#4460
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Pyradion-internet-radio-TUI-client-with-recording-functionality-written-in"
    +title: "Pyradion, internet radio TUI client, with recording functionality, written in Python"
    +url: "https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/pyradion.png"
    +body: """
      <https://gitlab.com/christosangel/pyradion>\n
      \n
      Through the menus, the user can :\n
      \n
      - Select directly a station from the **Favorites** list (which is configurable).\n
      - Select a **random station** out of this list of Favorite stations.\n
      - Select a **tag** to pick a station from.\n
      - Select to pick a station from **All Stations**.\n
      - Select a **random station** out of this list of **#tag** stations.\n
      - **❌ Quit pyradion**.\n
      \n
      ---\n
      \n
      #### Recording\n
      \n
      **Recording a radio stream** in **pyradion** can be done easily, just by hitting **r** or **R**.\n
      \n
      ![record.png](https://gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)\n
      \n
      The user will be notified through the *status line* of the recording taking place, and of the **output file name**.\n
      \n
      **Editing the `pyradion.config` file, the user will be able to define output audio file directory.**\n
      \n
      If the title is available by the stream, the file will take its name by it.\n
      \n
      If title is `Not Available`, the file will take a date/time for name.\n
      \n
      #### Output File Format\n
      \n
      In order for recording to work for **mpv**, *output file format* must be the same with *stream format*.\n
      \n
      Therefore stream format is recognised, and passed to the output file (e.g. *mp3, ogg, aac*).\n
      \n
      ---\n
      \n
      This project shares more or less the same logic with a previous project in `Bash`:\n
      \n
      <https://gitlab.com/christosangel/radion>\n
      \n
      although with this Python script some more features are available.\n
      \n
      ---
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 6
    +favouriteCount: 90
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701947501 {#2414
      date: 2023-12-07 12:11:41.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13944
    -titleTs: "'client':5 'function':8 'internet':2 'pyradion':1 'python':11 'radio':3 'record':7 'tui':4 'written':9"
    -bodyTs: "'/christosangel/pyradion':3 '/christosangel/pyradion/-/raw/main/screenshots/record.png)':81 '/christosangel/radion':199 'aac':181 'abl':110 'although':200 'audio':114 'avail':121,137,209 'bash':196 'configur':20 'date/time':143 'defin':112 'direct':11 'directori':116 'done':70 'e.g':178 'easili':71 'edit':102 'favorit':16,30 'featur':207 'file':100,105,115,126,139,147,158,177 'format':148,159,166,169 'gitlab.com':2,80,198 'gitlab.com/christosangel/pyradion':1 'gitlab.com/christosangel/pyradion/-/raw/main/screenshots/record.png)':79 'gitlab.com/christosangel/radion':197 'hit':74 'less':187 'line':90 'list':17,28,55 'logic':190 'menus':6 'mp3':179 'mpv':156 'must':160 'name':101,130,145 'notifi':86 'ogg':180 'order':150 'output':99,113,146,157,176 'pass':173 'pick':36,42 'place':95 'previous':193 'project':183,194 'pyradion':60,67 'pyradion.config':104 'python':203 'quit':59 'r':75,77 'radio':64 'random':23,50 'recognis':171 'record':61,62,93,152 'record.png':78 'script':204 'select':10,21,32,40,48 'share':184 'station':13,24,31,38,44,47,51,58 'status':89 'stream':65,124,165,168 'tag':34,57 'take':94,128,141 'therefor':167 'titl':119,134 'user':8,83,107 'work':154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700334975
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8393990"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700248575 {#1793
      date: 2023-11-17 20:16:15.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4374
    +user: App\Entity\User {#4387 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Lovely! I'll go read the code as soon as I have some coffee."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1700611752 {#4369
      date: 2023-11-22 01:09:12.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@christos@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4375 …}
    +nested: Doctrine\ORM\PersistentCollection {#4377 …}
    +votes: Doctrine\ORM\PersistentCollection {#4379 …}
    +reports: Doctrine\ORM\PersistentCollection {#4381 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4383 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4385 …}
    -id: 136515
    -bodyTs: "'code':7 'coffe':14 'go':4 'll':3 'love':1 'read':5 'soon':9"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/635538/-/comment/3634339"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700301850 {#4370
      date: 2023-11-18 11:04:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4374}
  +body: "Thanks, any feedback would be welcome!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700304183 {#4461
    date: 2023-11-18 11:43:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@christos@lemmy.world"
    "@vluz@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4457 …}
  +nested: Doctrine\ORM\PersistentCollection {#4453 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4466 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4468 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4470 …}
  -id: 136551
  -bodyTs: "'feedback':3 'thank':1 'welcom':6 'would':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5402413"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700304183 {#4464
    date: 2023-11-18 11:43:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
29 DENIED edit
App\Entity\Magazine {#265
  +icon: Proxies\__CG__\App\Entity\Image {#246 …}
  +name: "linux@lemmy.ml"
  +title: "linux"
  +description: """
    From Wikipedia, the free encyclopedia\n
    \n
    Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
    \n
    Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
    \n
    ### Rules\n
    \n
    - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
    - No misinformation\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    ### Related Communities\n
    \n
    - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    \n
    Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1406
  +entryCommentCount: 28632
  +postCount: 6
  +postCommentCount: 214
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583542 {#275
    date: 2024-10-22 09:52:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#237 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
  +entries: Doctrine\ORM\PersistentCollection {#180 …}
  +posts: Doctrine\ORM\PersistentCollection {#138 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
  +bans: Doctrine\ORM\PersistentCollection {#117 …}
  +reports: Doctrine\ORM\PersistentCollection {#103 …}
  +badges: Doctrine\ORM\PersistentCollection {#81 …}
  +logs: Doctrine\ORM\PersistentCollection {#71 …}
  +awards: Doctrine\ORM\PersistentCollection {#1346 …}
  +categories: Doctrine\ORM\PersistentCollection {#1823 …}
  -id: 73
  +apId: "linux@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/linux"
  +apPublicUrl: "https://lemmy.ml/c/linux"
  +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "linux"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583596 {#269
    date: 2024-10-22 09:53:16.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1698929468 {#271
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details