Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce new eAVControl #2845

Merged
merged 95 commits into from
Jul 16, 2023
Merged

Introduce new eAVControl #2845

merged 95 commits into from
Jul 16, 2023

Conversation

jbleyel
Copy link
Contributor

@jbleyel jbleyel commented Apr 30, 2023

  • this new class will be the successor for eAVSwitch
  • add several new AV proc functions

* this new class will be the successor for eAVSwitch
* add several new AV proc functions
@persianpros
Copy link
Contributor

persianpros commented Apr 30, 2023

Wonderful, more C/C++ code instead of python makes e2 faster and more stable 👍

There are many places in e2 which affect A/V settings and they all seem like duplicates, I hope you eliminate them all and use this new class.

@jbleyel
Copy link
Contributor Author

jbleyel commented Apr 30, 2023

Wonderful, more C/C++ code instead of python makes e2 faster and more stable 👍

There are many places in e2 which affect A/V settings and they all seem like duplicates, I hope you eliminate them all and use this new class.

That's the plan. I will move as much as I can to AVControl and remove the duplicate code.

* master:
  [eModelInformation] (#2848)
  [AVSwitch] * fix config.av.downmix_ac3 for dream
  [DVD] * fix chapter zap * reorder imports * refactor prints
  Cleanup (#2844)
@IanSav
Copy link
Contributor

IanSav commented May 1, 2023

There was a more significant logic other than performance improvements. We went for the C++ option as we get to use conditional compilation that is appropriate for every box built. This means that a significant amount of Python code with lots of hardware based "if" logic can be eliminated. We now get the data needed by Python without having to work out the type of hardware upon which we are running. The only code being moved to C++ is the code used to directly interface with the hardware. All the UI and user facing code is still in Python.

@wedebe
Copy link
Contributor

wedebe commented May 1, 2023

Shouldn't such a significant change go into the next version (7.3) instead of master (7.2)?

@jbleyel
Copy link
Contributor Author

jbleyel commented May 1, 2023

Shouldn't such a significant change go into the next version (7.3) instead of master (7.2)?

The master branch is version 7.3.
This means all changes in master will NOT come in 7.2 except small changes or bugfixes.

* master:
  [CFile] (#2856)
  [ServiceInfo] * fix UnboundLocalError: cannot access local variable 'f' where it is not associated with a value
  [Trashcan] - Correct getTrashcan in cleanAll(). - Correct return value in createTrashcan().
  disable dreambox audio
* master: (54 commits)
  [ChannelSelection] * correct typo from the last commit
  Ellipsis (#2892)
  pot update
  Prepare github actions for the new 7.3 branch
  ChannelSelection fixes and enhancements (#2894)
  [ChoiceList.py] Correct location of bullet icon
  [HarddiskSetup] Change "Initialize" to "Format" A storage device is initialised automatically when you record, go to flash online etc without any user interevention. The context of the menu/ question is that it is asking if we want to format the device, not if we want to initialise it. (initail setup for use). Most E2 users are from a Windows background and "Format" in this context reflects the function in a more user friendly term.
  prepare new Channelselection
  translation update
  [ChannelSelection.py] Clean up code (#2893)
  [Harddisk] * remove sfdisk usage because it's no longer working
  [HarddiskSetup] * small cleanup * fix running in Wizard
  [Components/Network]
  aml lcd display set display brightness to 0 in standby
  [StartEnigma.py] Correct last commit
  Fix ParentalControl import issue (#2888)
  translation update
  [PluginBrowser] * remove callbacks on close
  backup exclude /run/chrony/chronyd.sock
  [Network] (#2885)
  ...
@persianpros
Copy link
Contributor

I think https://github.com/openatv/enigma2/blob/eAVControl/lib/driver/avcontrol.cpp#L121 is wrong and should be "framerate"

@jbleyel
Copy link
Contributor Author

jbleyel commented May 23, 2023

I think https://github.com/openatv/enigma2/blob/eAVControl/lib/driver/avcontrol.cpp#L121 is wrong and should be "framerate"

Fixed .. thanks

@persianpros
Copy link
Contributor

persianpros commented May 26, 2023

Seems parts of the code is not compatible with newer C++ which we're using:

error: no match for 'operator=' (operand types are 'const std::string' {aka 'const std::__cxx11::basic_string<char>'} and 'std::string' {aka 'std::__cxx11::basic_string<char>'}) 203 | m_video_mode_60 = CFile::read(proc_videomode_60); | ^

Also https://github.com/openatv/enigma2/blob/eAVControl/lib/driver/avcontrol.cpp#L174 is not defined maybe

std::string check = CFile::read(proc_hdmi_rx_monitor);

?

@sonarcloud
Copy link

sonarcloud bot commented Jul 16, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 16 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@jbleyel jbleyel marked this pull request as ready for review July 16, 2023 13:35
@jbleyel jbleyel merged commit 3cac601 into master Jul 16, 2023
@jbleyel jbleyel deleted the eAVControl branch July 16, 2023 13:51
@persianpros
Copy link
Contributor

@jbleyel

Well done for this huge improvement 🥇

Just to let you know you could merge both ServiceReference.py files and only use one like OV 👍

@jbleyel
Copy link
Contributor Author

jbleyel commented Jul 17, 2023

@jbleyel

Well done for this huge improvement 🥇

Just to let you know you could merge both ServiceReference.py files and only use one like OV 👍

DONE , thanks for the hint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants