Re: [slim] What's that called?

2020-06-26 Thread MarSOnEarth


bpa wrote: 
> Yes, All the UI stuff about "modes" with up/down/left/right/scroll  are
> related to handling the older VFD displays where LMS generated the
> bitmaps. It is still valid but legacy unless you want to so something
> special on an SB3/Boom/Transporter
> 
> Addition of OPML based menus with OPMLBased class for plugins -
> simplified menu handling and enabled one menu datastructure to handle
> both older displays and newer ones.
> 
> Plugins are very flexible - essentially adding code to LMS and so can
> modify everything - beside APIs and hooks ("can" routines),  a plugin
> can sub/super class standard LMS classes and modify behaviour.  LMS is
> single threaded so a badly behaved plugin can halt LMS or cause bad
> audio playback. LMS single threading is handled via AnyEvent (which is
> another avenue for adding functionality) but a plugin is not bound to
> the single thread as plugins can can create subprocesses via 
> Proc::Background.  Windows only plugins can access Windows API via Win32
> module.
> 
> With all the above possibilties - I hope you see, it is better to
> describe what you want to do rather than ask what APIs are available. 
> It is very rare for a plugin to need to do something that there isn't
> something similar already developed that can serve as a template

LMS does pose a rather steep learning curve, but the code seems well
commented. Thank you for your illuminating intro.



MarSOnEarth's Profile: http://forums.slimdevices.com/member.php?userid=69826
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-21 Thread bpa


MarSOnEarth wrote: 
> Thank you for this overview. I've been using LMS with the Material skin,
> so all those docs pages were hidden from me. Very helpful.
> 
> Is the plugin info in the WebUI (.../html/docs/plugins.html>) also
> outdated?

All the UI stuff about "modes" with up/down/left/right/scroll  are
related to handling the older VFD displays where LMS generated the
bitmaps.

Later addition of OPML based menus with OPMLBased class for plugins -
simplifed menu handling and enabled one menu datastructure to handle
both older displays and newer ones.

Plugins are very flexible - essentially adding code to LMS and so can
modify everything - beside APIs and hooks ("can" routines),  a plugin
can sub/super class standard LMS classes and modify behaviour.  LMS is
single threaded so a badly behaved plugin can halt LMS or cause bad
audio playback. LMS single threading is handled via AnyEvent (which is
another avenue for adding functionality) but a plugin is not bound to
the single thread as plugins can can create subprocesses via 
Proc::Background.  Windows only plugins can access Windows API via Win32
module.

With all the above possibilties - I hope you see, it is better to
describe what you want to do rather than ask what APIs are available. 
It is very rare for a plugin to need to do something that there isn't
something similar already developed that can serve as a template



bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-21 Thread MarSOnEarth


bpa wrote: 
> LMS has evolved over time and there are multiple APIs - some are old and
> legacy. 
> 
> - Special LMS web pages by registering pages with LMS and providing Perl
> template html files which access variable/data via Perl plugin.
> - there is an UI interface for older SB players which nobody uses now
> unless you want to do something special on the displays of the older SB
> players.
> - external program can use telnet CLI interface 
> - external program can also make request in HTTP JSON  Cometd 
> - plugin can do multiple things from within LMS - implement new URL
> protocol,  handle new audio formats, manipulate database inerface with
> news device, add menus etc.
> 
> Usually external application not plugins interface with LMS using
> HTTP/JSON.  Plugins don't use the JSON interface as they are part of
> LMS, written in Perl and have a number of hooks/API into LMS. Plugin
> development is outlined in the Wiki but it is out of date.
> 
> With the exception of the CLI interface (and by implication the JSON)
> which is documented in the main WebUI under Help - none of the other
> APIs are documented. Developers look at other Plugins and LMS source
> code to develop new plugins. 
> 
> If you are more specific about what you want to achieve - I'm sure
> somebody will be able to point you to an existing plugin which is close 
> to your needs and after that it is asking questions which are not vague.

Thank you for this overview. I've been using LMS with the Material skin,
so all those docs pages were hidden from me. Very helpful.

Is the plugin info in the WebUI (.../html/docs/plugins.html>) also
outdated?



MarSOnEarth's Profile: http://forums.slimdevices.com/member.php?userid=69826
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-18 Thread bpa


MarSOnEarth wrote: 
> So, I assume it's the "controler" API to which plugins are written,
> right? Where can I read up on them?

LMS has evolved over time and there are multiple APIs - some are old and
legacy. 

- Special LMS web pages by registering pages with LMS and providing Perl
template html files which access variable/data via Perl plugin.
- there is an UI interface for older SB players which nobody uses now
unless you want to do something special on the displays of the older SB
players.
- external program can use telnet CLI interface 
- external program can also make request in HTTP JSON  Cometd 
- plugin can do multiple things from within LMS - implement new URL
protocol,  handle new audio formats, manipulate database inerface with
news device, add menus etc.

Usually external application not plugins interface with LMS using
HTTP/JSON.  Plugins don't use the JSON interface as they are part of
LMS, written in Perl and have a number of hooks/API into LMS. Plugin
development is outlined in the Wiki but it is out of date.

With the exception of the CLI interface (and by implication the JSON)
which is documented in the main WebUI under Help - none of the other
APIs are documented. Developers look at other Plugins and LMS source
code to develop new plugins. 

If you are more specific about what you want to achieve - I'm sure
somebody will be able to point you to an existing plugin which is close 
to your needs and after that it is asking questions which are not vague.



bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-18 Thread MarSOnEarth

d6jg wrote: 
> A “renderer” is DLNA terminology. LMS is most definitely not to compared
> to DLNA it’s far better.
> 
> Think of it like this
> LMS = server
> Then you have the following
> Player
> Controller
> Player/Controller
> 
> The web gui on port 9000 is a controller
> Squeezelite is a player
> Squeezelite-X is a player/controller
> Squeezeplay is a player/controller
> SB Radio is a player/controller
> SB 3 is a player 
> IPeng is a controller with optional player
> Etc

Alright. Thank you for that.

bpa wrote: 
> ... 
> If you want to do something specific there are number of APIs rather
> than use the WebUI.

So, I assume it's the "controler" API to which plugins are written,
right? Where can I read up on them?

Thanks.



MarSOnEarth's Profile: http://forums.slimdevices.com/member.php?userid=69826
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-18 Thread teebee


bpa wrote: 
> But WebGUI has no player.  
> 
> The user has to add a separate soft player (squeezelite, softsqueeze,
> squeezeplay, SLX)  to same system as runs LMS.[...]

well a player on the same network not same system :)



SB Radio x2, SB Duet, Squeezelite, SB Player, Squeezer, LMS 8.0.0 on
Raspberry Pi 4 (4GB)

teebee's Profile: http://forums.slimdevices.com/member.php?userid=70091
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread bpa


MarSOnEarth wrote: 
> This is the user facing player I/F, right? So, programmatically, what is
> this I/F called?

Why do you want to know the name of the i/f ? 
If you want to do something specific there are number of APIs rather
than use the WebUI.



bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread d6jg

MarSOnEarth wrote: 
> This is what I mean... so many names, and some even changing over time
> for the same thing. But what I'm trying to understand is maybe different
> still. Yes, technically the RPis (in my case) running Squeezelite are
> the hardware players, *but* they are totally controlled (in my case) by
> a WebGUI on port 9000 to LMS. This is the user facing player I/F, right?
> So, programmatically, what is this I/F called?
> 
> P.S. Actually, to use different terminology, wouldn't RPis running
> Squeezelite be "renderers"?

A “renderer” is DLNA terminology. LMS is most definitely not to compared
to DLNA it’s far better.

Think of it like this
LMS = server
Then you have the following
Player
Controller
Player/Controller

The web gui on port 9000 is a controller
Squeezelite is a player
Squeezelite-X is a player/controller
Squeezeplay is a player/controller
SB Radio is a player/controller
SB 3 is a player 
IPeng is a controller with optional player
Etc



VB2.4[/B] STORAGE *QNAP TS419P (NFS)
[B]Living Room* - Joggler & SB3 -> Onkyo TS606 -> Celestion F20s
*Office* - Pi3+Sreen -> Sony TAFE320 -> Celestion F10s / Pi2+DAC & SB3
-> Onkyo CRN755 -> Wharfedale Modus Cubes
*Dining Room* -> SB Boom 
*Kitchen* -> UE Radio (upgraded to SB Radio)
*Bedroom (Bedside)* - Pi2+DAC ->ToppingTP21 ->AKG Headphones
*Bedroom (TV)* - SB Touch ->Sherwood AVR ->Mordaunt Short M10s
Everything controlled by iPeng

d6jg's Profile: http://forums.slimdevices.com/member.php?userid=44051
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread MarSOnEarth


bpa wrote: 
> But WebGUI has no player.
> 
> The user has to add a separate soft player (squeezelite, softsqueeze,
> squeezeplay, SLX)  to same system as runs LMS. There is also a plugin
> LocalPlayer which include squeezelite enables files to be played
> directly and not streamed).
> WebGUI can control ANY player.  
> 
> Any UI on a modern non VFD player - can be UI for any other player.

This is what I mean... so many names, and some even changing over time
for the same thing. But what I'm trying to understand is maybe different
still. Yes, technically the RPis (in my case) running Squeezelite are
the hardware players, *but* they are totally controlled (in my case) by
a WebGUI on port 9000 to LMS. This is the user facing player I/F, right?
So, programmatically, what is this I/F called?

P.S. Actually, to use different terminology, wouldn't RPis running
Squeezelite be "renderers"?



MarSOnEarth's Profile: http://forums.slimdevices.com/member.php?userid=69826
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread bpa


Apesbrain wrote: 
> It doesn't have a name.  If you refer to it as "web GUI", people here
> generally know what you mean.  Or, how about "LMS Desktop"?
But WebGUI has no player.  

The user has to add a separate soft player (squeezelite, softsqueeze,
squeezeplay, SLX)  to same system as runs LMS. There is also a plugin
LocalPlayer which include squeezelite enables files to be played
directly and not streamed).
WebGUI can control ANY player.  
Any UI on a modern non VFD player - can be UI for any other player.



bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread Apesbrain


MarSOnEarth wrote: 
> what is the web interface to LMS that, among others, also functions as a
> player called?
It doesn't have a name.  If you refer to it as "web GUI", people here
generally know what you mean.  Or, how about "LMS Desktop"?



Apesbrain's Profile: http://forums.slimdevices.com/member.php?userid=738
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread Shozzer


MarSOnEarth wrote: 
> A really basic noobie question: LMS is the server software, what is the
> web interface to LMS that, among others, also functions as a player
> called?

What is your LMS running on? For Windows 10, Squeezelite-X (available in
the Store) acts as both controller and player and is a fantastic app.



Shozzer's Profile: http://forums.slimdevices.com/member.php?userid=58726
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss


Re: [slim] What's that called?

2020-06-17 Thread d6jg


MarSOnEarth wrote: 
> A really basic noobie question: LMS is the server software, what is the
> web interface to LMS that, among others, also functions as a player
> called?

There is no cross platform web interface that incorporates a player.
For iOS there is iPeng
For Android there is SB Player but has to be combined with a controller
app.



VB2.4[/B] STORAGE *QNAP TS419P (NFS)
[B]Living Room* - Joggler & SB3 -> Onkyo TS606 -> Celestion F20s
*Office* - Pi3+Sreen -> Sony TAFE320 -> Celestion F10s / Pi2+DAC & SB3
-> Onkyo CRN755 -> Wharfedale Modus Cubes
*Dining Room* -> SB Boom 
*Kitchen* -> UE Radio (upgraded to SB Radio)
*Bedroom (Bedside)* - Pi2+DAC ->ToppingTP21 ->AKG Headphones
*Bedroom (TV)* - SB Touch ->Sherwood AVR ->Mordaunt Short M10s
Everything controlled by iPeng

d6jg's Profile: http://forums.slimdevices.com/member.php?userid=44051
View this thread: http://forums.slimdevices.com/showthread.php?t=112430

___
discuss mailing list
discuss@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/discuss