I have 10 cams, probably will end up with 12. I attached a screenshot showing a mockup of how we should be able to get up to 16 cams on the left menu, when PTZ is gone - more like 12 or 13 with PTZ
Also, unless the person has a TON of cams, you can also see there is a lot of black/open space on the top and bottom that could hold 20+ cams in horizontal button rows
thanks for considering, I suspect others would find this very useful too.
This is really funny because all those years ago when I first started "improving" the default BI web interfaces, my main goal was to never again have to select cameras by clicking the list of camera names. I always hated the thing. And then you come along and want the list of camera names back.
It really goes against my idea of what UI3 should be, so I'm not going to add it. But that doesn't mean you can't have it. It is actually quite easy to create a camera list like this in the left control panel, so here is a local overrides script that injects it into the left bar of the Live View tab. Just create a file named "ui3-local-overrides.js" and paste this script into it. Put the file in the "/ui3beta/ui3" directory. If you had installed beta versions b1 or b2, you will already have a "ui3-local-overrides.js" file because I accidentally included it in those earlier beta releases. But the file is supposed to be left out of UI releases by design so that people can use it to inject custom script into the UI and not have to deal with it getting overwritten with every update.
Code:
(function ()
{
/// <summary>
/// This local-overrides script for UI3 adds a text list of all available cameras to the bottom of the left bar on the live view tab.
/// </summary>
$(function ()
{
var injectedCameraList = false;
var $box = $('<div class="leftBarBox" style="padding-bottom: 3px;"></div>');
var $cameraList = $('<div class="leftBarInnerBox" style="overflow: hidden; text-overflow: ellipsis;"></div>');
BI_CustomEvent.AddListener("CameraListLoaded", function (response)
{
if (injectedCameraList)
return;
for (var i = 0; i < response.data.length; i++)
{
if (cameraListLoader.CameraIsGroup(response.data[i]))
continue;
if (cameraListLoader.CameraIsCycle(response.data[i]))
continue;
if (!response.data[i].isEnabled)
continue;
if (!response.data[i].webcast)
continue;
var $link = $('<a class="leftBarHeading" style="display: block; color: #0097F0; margin-bottom: 3px;"></a>');
$link.attr('href', 'javascript:videoPlayer.ImgClick_Camera(cameraListLoader.GetCameraWithId("' + response.data[i].optionValue + '"))');
$link.text(response.data[i].optionDisplay);
$cameraList.append($link);
}
$cameraList.attr("size", $cameraList.children('a').length);
injectedCameraList = true;
});
$box.append($cameraList);
$('#layoutleftLiveScrollable').append($box);
});
})();
If you don't like the color or the spacing or something, find the line with the text "leftBarHeading" and change the margin or hex color value. This helps with picking colors: color picker - Google Search
If you can't get changes to take effect, try a full refresh (Ctrl + F5 in some browsers) or clear the browser cache.