Menu

#207 Bug with PV in engine options; paste whole engine's line into the text

1.5.8
closed-rejected
nobody
bug (1)
5
2022-10-24
2022-10-24
John Dohn
No

Hello! i don't know, maybe I do something wrong, but it seems to be a bug of ChessX When I install the engine, I can always choose the number of PV (number of parallel lines) engine simultaneously analyzes. When I do that on main alternate chess pgn readers, it's always correct. When I do that on ChessX, I always get a single line engine evaluates. I can definitely increase the number of lines manually (via that box with number of lines), but it's still annoying. It's one thing. Another one is a request: can you add some keyboard shortcut to code we can use to paste the whole line engine suggests into the text of the game. It could be just a great feature. Thanks in advance!

Discussion

  • Jens Nissen

    Jens Nissen - 2022-10-24

    I don't think, that a keyboard shortcut is a good idea because it would require actually 4 shortcuts, one for each button [+] and [* ] of each analysis pane - these would probably work even when the analysis pane is currently hidden which might confuse users.
    About overriding the PV number from settings over GUI: my first instinct was: Yes - great idea - why didn't I implement this?! But turns out: the GUI instantiates the Engine (and its option set) only after you press "Analyze". Which means that you select a PV, press Analyze and the PV instantly jumps to a different value (the one from the option list). Worse: if you change the Engine now to see, what another Engine would think about the same position, the PV would jump again (to the new engines default). This would force users to always adjust the PV again - which is extremely counter-intuitive.
    If you want to build your own ChessX (take the latest code!), you could modify the function AnalysisWidget::startEngine() from

            m_engine = EngineX::newEngine(index);
            ui.vpcount->setEnabled(m_engine->providesMpv());
            ui.label->setEnabled(m_engine->providesMpv());
            if(!m_engine->providesMpv())
            {
                ui.vpcount->setValue(1);
            }
    

    to

            m_engine = EngineX::newEngine(index);
            ui.vpcount->setEnabled(m_engine->providesMpv());
            ui.vpcount->setValue(m_engine->defaultMpv());
            ui.label->setEnabled(m_engine->providesMpv());
    

    and see for yourself, if you like it.

     
  • Jens Nissen

    Jens Nissen - 2022-10-24
    • status: open --> closed-rejected
     
  • Jens Nissen

    Jens Nissen - 2022-10-24

    Ticket moved from /p/chessx/bugs/325/

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.