<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 11/05/2019 6:21 PM, Jean-Baptiste
      Kempf wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:688e7b1b-1262-4dd2-bafa-5c291af52adf@www.fastmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <title></title>
      <style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>On Sat, 11 May 2019, at 13:15, Roland Bewick wrote:<br>
      </div>
      <blockquote type="cite" id="qt">
        <div>
          <div>On Sat, 11 May 2019 at 4:17 PM, Rémi Denis-Courmont <<a
              href="mailto:remi@remlab.net" moz-do-not-send="true">remi@remlab.net</a>>
            wrote:<br>
          </div>
          <blockquote
style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,
            204,
            204);border-left-style:solid;border-left-width:1px;padding-left:1ex;"
            class="qt-gmail_quote">
            <div>
              <div>Hi,<br>
              </div>
              <div><br>
              </div>
              <div>While it likely makes sense at the level of UI
                widgets and user interactions, it seems a bit out of
                place, standing alone, at the player API level.<br>
              </div>
              <div><br>
              </div>
              <div>In particular, I doubt that enabling multiple tracks
                mode in Qt should interfere with the track selection of,
                say, the HTTP remote control.<br>
              </div>
              <div><br>
              </div>
              <div>IMO, the API should just take the list of active
                tracks, whether it be empty, a singleton, or larger.<br>
              </div>
            </div>
          </blockquote>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Hi, Remi,<br>
          </div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">I designed the changes so that none of the
            current consumers of the API will be impacted.<br>
          </div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Enabling dual subtitles will not affect the
            others (like the remote control or lua scripts), because
            there is another requirement: to temporarily enable
            multitrack selection using the new call I added. The UI and
            hotkeys use this but none of the others do.<br>
          </div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">I do agree however that your suggestion is
            more fitting (but require a bit more logic from each
            consumer that supports selecting multiple tracks)<br>
          </div>
        </div>
      </blockquote>
      <div><br>
      </div>
      <div>Make the API simple to maintain, for the core. UI will adapt.<br>
      </div>
      <div><br>
      </div>
      <div id="sig60240713">
        <div class="signature">--<br>
        </div>
        <div class="signature">Jean-Baptiste Kempf -  President<br>
        </div>
        <div class="signature">+33 672 704 734<br>
        </div>
        <div class="signature"> <br>
        </div>
        <div class="signature"><br>
        </div>
      </div>
      <div><br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
<a class="moz-txt-link-freetext" href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre>
    </blockquote>
    <p>Unfortunately it isn't just the SelectTrack function, but
      SelectNextTrack and SelectPrevTrack too.<br>
      <br>
      I feel like making the consumer pass a list of already selected
      tracks *plus* the new track to select is not right.<br>
      <br>
      I agree the api should be simple but it should also be simple to
      use. Will this change make the core less complex?<br>
    </p>
    <p>What I've done isn't so good, yes. But I don't think Rémi's idea
      is right either. We're basically searching for tracks and then
      excluding the selected ones so that they don't get selected again.</p>
    <p>Potential alternative option: <br>
      - Pass an extra parameter into the existing SelectTrack function -
      selection type (Single / multiple).<br>
      - For SelectNextTrack/SelectPrevTrack functions I would need to
      pass the "spu id" (1=primary, 2=secondary, 3=tertiary sub track)<br>
      <br>
      Then I can remove the new API functions I added.<br>
      <br>
      Please correct me if I'm wrong - maybe I'm not seeing the full
      picture, but I feel like this change is more complicated than its
      worth.</p>
    <p>Roland<br>
      <br>
    </p>
  </body>
</html>