<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>