e2openplugin-OpenWebif icon indicating copy to clipboard operation
e2openplugin-OpenWebif copied to clipboard

Recursive bouquet support

Open WanWizard opened this issue 2 years ago • 16 comments

Enigma support nested or sub bouquets, so you can have

bash-5.0# cat bouquets.tv
#NAME User - bouquets (TV)
#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.main.tv" ORDER BY bouquet

which points to

bash-5.0# cat userbouquet.main.tv
#NAME Main Bouquet (TV)
#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.nested.tv" ORDER BY bouquet

which in turn contains that channel references.

bash-5.0# cat userbouquet.nested.tv 
#NAME English
#SERVICE 1:0:19:22C5:80D:2:11A0000:0:0:0::BBC One Scotland HD
#DESCRIPTION BBC One Scotland HD

OWIF has problems with this. In the Bouquet list, it shows " Main Bouquet (TV)" as a channel instead of a sub-bouquet, and it doesn't show any channels from the sub-bouquets at all.

This also means that all API calls that refer to service refs in a sub-bouquet will fail (creating a timer for example).

WanWizard avatar Mar 22 '22 17:03 WanWizard

I haven't seen the box UI in OpenATV facilitate this, unless I've missed a trick.

Which image & version are you using, @WanWizard?

wedebe avatar Mar 22 '22 18:03 wedebe

OpenPLi.

But ATV should have this too, as there are several plugins that are creating this. I bumped into it when debugging a crash in OpenPLi when syncing the channellist between boxes. According to the user who reported it, he used https://github.com/kiddac/Jedi_Maker_Xtream to generate subbouquets, which is available in the ATV feed...

WanWizard avatar Mar 22 '22 22:03 WanWizard

I can ask for some screenshots if you want?

WanWizard avatar Mar 22 '22 22:03 WanWizard

I can ask for some screenshots if you want?

Yes please, I'd love to see some screenshots.

To be honest, unless there's a recursive bouquets plugin included by default or the feature built into most images, this wouldn't really be a priority to implement in OWIF (there are currently more heavily-used functions that OWIF doesn't yet implement as well as it could, or indeed at all!)

I do, however, feel that if implemented, OWIF should only support linking to nested bouquets, not loading more channels inside a channel list (so clicking nested-bouquet inside main-bouquet would merely load the nested-bouquet as if it was its own bouquet.

wedebe avatar Mar 23 '22 21:03 wedebe

It isn't a plugin, it is supported in Enigma out of the box. Try my examples and you'll see.

image

image

image

When you press Blue, it goes back one level, until you're back in the favori

I can't possibly comment on how it should be implemented, the main problem at the moment is that the sub bouquet files aren't loaded at all, which means those channels can't be selected in any field that allows channel selection, either in a dropdown (like when creating a timer) or a multi-selection field like for autotimer or epgrefresh.

Like I wrote before, I am virtually sure ATV has built-in support for this too (and if OpenPLi and ATV have it, most images have it), as the plugin that generated these bouquets is in the OE-A feed (see https://github.com/oe-alliance/oe-alliance-core/blob/5.0/meta-oe/recipes-oe-alliance/enigma2-plugins/enigma2-plugin-extensions-jedimakerxtream.bb for the recipe).

WanWizard avatar Mar 24 '22 00:03 WanWizard

I'll try play with the plugin later this evening.

Thinking more about it, a solution in OWIF would be to list a top-level bouquet with a tree of any nested bouquets fully expanded, so you'd have...

Bouquets

  • Spaans
    • Telly Channel One
    • Telly Channel Two
  • IPTV
    • Formula 1
      • Formula TV HD
      • Formula TV Pit Lane
    • E1
      • E1 TV HD
      • E1 TV Pit Lane
  • Last Scanned
    • Etc...

wedebe avatar Mar 24 '22 13:03 wedebe

Fine by me.

OpenPLI's main objective is to get rid of errors when trying to use a serviceref of one of these entries in the API, for example when setting a remote timer.

So in OpenPLi Enigma, go to for example "Formula TV Pit Lane", open the EPG, select a programme, press green to add a timer, make it a remote timer (I believe other images have a plugin for this). Currently when you try to save this remote timer, we get an error from the remote box OWIF API back, because the serviceref doesn't exist in its channel list (because the bouquets aren't parsed).

WanWizard avatar Mar 24 '22 13:03 WanWizard

Hi @WanWizard , would you be able to share 3 ...bouquet.tv files to use for testing, please?

These would be files that match up with the 3 images you shared in https://github.com/E2OpenPlugins/e2openplugin-OpenWebif/issues/1463#issuecomment-1076930693

wedebe avatar Apr 08 '22 09:04 wedebe

I see if I can get hold of them, travelling atm.

WanWizard avatar Apr 08 '22 10:04 WanWizard

I see if I can get hold of them, travelling atm.

No rush, I'm away too.

wedebe avatar Apr 09 '22 10:04 wedebe

Where is the documentation of the subbouquets?

Bouquetfilename convention Correct syntax of the service line in bouquet files

Please note: changing the api can break 3rd party tools.

jbleyel avatar Apr 12 '22 06:04 jbleyel

Documentation? Enigma2? :rofl:

Very good question, I didn't know this was possible until I saw this ATV plugin generate them, and to my surprise, it worked on OpenPLi too.

If I look at eDVBDB::loadbouquet(), this functionality has always existed, it was already present in Andreas Monzners code of 2007.

WanWizard avatar Apr 12 '22 11:04 WanWizard

OpenATV doesn't (as far as I can see) provide functionality to create sub-bouquets, but they can be entered into, renamed, moved etc.

OWIF will need to support (in order of my perceived usefulness):

  • Timers (add/edit)
  • AutoTimers (add/edit)
  • Channel list
  • EPG
  • Bouquet Editor

wedebe avatar Apr 20 '22 10:04 wedebe

OpenPLi itself doesn't provide that functionality either.

WanWizard avatar Apr 20 '22 18:04 WanWizard

API function to add sub bouquets introduced with jbleyel's commit https://github.com/E2OpenPlugins/e2openplugin-OpenWebif/commit/b700900baf8d713a1a7b6a3644acd9ee775f19c0 :)

I'll add ui functionality to the modern interface.

wedebe avatar Jun 16 '22 22:06 wedebe

Still haven't switched to the modern interface... :grin:

WanWizard avatar Jun 17 '22 21:06 WanWizard