Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • Sep 19 22:28
    DominicCodespoti commented #316
  • Sep 19 09:19
    danlii opened #626
  • Sep 19 05:01
    thed24 opened #8
  • Sep 17 23:57
    MrBananane commented #501
  • Sep 17 07:17
    tcheronneau commented #316
  • Sep 16 09:12
    BeMacized commented #580
  • Sep 12 13:32
    matthewarmand commented #620
  • Sep 10 15:43
    cwt commented #580
  • Sep 10 14:41
    cwt edited #7
  • Sep 10 14:40
    cwt opened #7
  • Sep 06 05:37
    tcheronneau commented #316
  • Sep 06 05:02
    tcheronneau commented #316
  • Sep 05 19:59
    tizonia labeled #625
  • Sep 05 19:59
    tizonia closed #625
  • Sep 05 19:59
    tizonia commented #625
  • Sep 05 19:58
    tizonia commented #625
  • Sep 05 19:50
    tizonia commented #316
  • Sep 05 19:46
    tizonia commented #316
  • Sep 05 18:27
    tcheronneau commented #316
  • Sep 05 08:39
    tcheronneau commented #316
@juanrubio hi
Juan A. Rubio
@SolarAquarion : Hi, sorry that I've just noticed your message!
Bartosz Skrzypczak
Seems like almost noone is here... maybe because the link to gitter on readme is broken?
I hoped I would find someone who could answer my question "what is the memory usage of this" before I spend a lot of time installing it
Juan A. Rubio
Hi, not a lot of people around... I've just seen your message (and yes, that link being broken does not help either)
Juan A. Rubio
With regards to memory usage, here is the status file of Tizonia playing a youtube playlist. This is probably a worst case scenario, as other services would probably use less memory. You can compare it with other applications on your system:
➜ 32395 cat /proc/$(pidof tizonia)/status
Name: tizonia
Umask: 0022
State: S (sleeping)
Tgid: 32395
Ngid: 0
Pid: 32395
PPid: 32162
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDSize: 64
Groups: 4 20 24 27 30 46 116 126 1000
NStgid: 32395
NSpid: 32395
NSpgid: 32395
NSsid: 32162
VmPeak: 1592480 kB
VmSize: 1588380 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 96648 kB
VmRSS: 96648 kB
RssAnon: 66812 kB
RssFile: 29584 kB
RssShmem: 252 kB
VmData: 135740 kB
VmStk: 136 kB
VmExe: 13104 kB
VmLib: 67332 kB
VmPTE: 816 kB
VmSwap: 0 kB
HugetlbPages: 0 kB
CoreDumping: 0
Threads: 15
SigQ: 0/63703
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001001000
SigCgt: 0000000180084006
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Speculation_Store_Bypass: thread vulnerable
Cpus_allowed: ff
Cpus_allowed_list: 0-7
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 6
nonvoluntary_ctxt_switches: 1
Just for the record, if you are planning to use Spotify, there currently is an issue that prevents users accessing Spotify with Tizonia. It is being worked on:
wow this seems semi abandoned is anyone even here still?
Hey, if I wanted to help out (for example I've been eyeing up tickets about adding support for Deezer and Last.fm scrobbling), how would I go about it? Is there a write up somewhere how a plugin for tizonia is supposed to look like?
Hi @MarPan , there is not such guide at the moment I'm afraid. I've created a GitHub issue for that, hopefully I may be able to add some docs to fix that fairly quickly
In the meantime, the very quick summary on how a service (e.g. Google Play music) is implemented in Tizonia, goes like this:
1.- Find a way to retrieve audio streams URLs from the service in question, usually that means, find a 3rdparty library that knows how to do this (e.g. Tizonia leverages https://github.com/simon-weber/gmusicapi for Google Play)
2.- Create the wrapper that talks to the service using the thirdparty API
e.g. here, https://github.com/tizonia/tizonia-openmax-il/tree/master/clients/gmusic, there are two modules
a) a 'proxy' module (gmusicproxy) which is nothing else but a thin Python wrapper that uses gmusicapi to perform searches and queue up URLs retrieved from Google Play Music
b) a thin c-wrapper (libtizgmusic) that essentially encapsulates the Python proxy into an easy to use C API.
3.- This C-API is used from within the 'HTTP' source' OpenMAX IL plugin (see https://github.com/tizonia/tizonia-openmax-il/tree/master/plugins/http_source). This OpenMAX IL plugin obtains URLs from the service (using libtizgmusic) and internally downloads the streams using uses libcurl. The HTTP source is part of a pipeline that then decodes the stream and renders the audio to the active sink.
  1. The tizonia player app (https://github.com/tizonia/tizonia-openmax-il/tree/master/player) is the top level layer that knows how to construct OpenMAX IL pipelines or 'graphs' (usually, a source component (eg. HTTP source) -> audio decoder -> audio renderer). Depending on the format, (e.g. aac, vs mp3, vs ogg, vs mpa, etc).. this layer may already have 'graphs' that are already implemented that can be reused when adding a new online music service.
The best way to get your head around this process is to start with 1.- and 2.- above. Feel free to ask any questions here or on Github, I'll do my best to answer!.