Okay, until, or maybe instead of the modification to MC, try this simple solution.
Create a batch file with the following commands;
@echo off
Call "C:\Program Files (x86)\J River\Media Center 21\Media Center 21.exe" /Library "Your Server Library"
mc21.exe /Library "Your Local Library"
Note, as Glynor rightly points out, you should usually use the "mc21.exe" program to launch MC commands, but that wont work with the Call command above the way you need it to. The "mc21.exe" program will always just run the command and then exit. Using the "Media Center 21.exe" program means that the Call command will execute, and then wait for MC to close, before the last command will execute, and the batch file will exit. This is what we want.
Make sure you save the batch file into a sensible place. I just put it in a new directory I created to test, "C:\Batch Files". You could put it in the MC21 directory, but keep a backup somewhere in case you uninstall MC at some time.
Create a shortcut using the batch file. I just right-clicked, dragged and dropped the batch file to the Desktop, and selected "Creates shortcuts here". Easiest.
Edit the properties of the Shortcut to change the "Run" mode to Minimised, and change the Icon to something you want to use. The standard MC icon is in the "C:\Program Files (x86)\J River\Media Center 21\Media Center 21.exe" file. Running the Shortcut minimised means that the Command window will be visible on the Task Bar, but won't popup on the screen. If you want the command window to be completely invisible, use one of the techniques described
here.
So, now you have a Shortcut that when double clicked will run the MC Client connected to your MC Server, and when you close the MC Client, MC will open again connected to the local MC library. As long as the person using the MC Client remembers to close it when finished with it, the MC Client should be running at all other times. Well, unless someone closes the second instance of MC. Your users will have to be "trained" to recognise which library MC is using, and act accordingly.
Of course, a user who wants to use the MC Client connected to the Server will need to close the currently open local MC session first, and should not manually switch to the MC Server library. An enhancement of the above, which carries some risk if the local MC library and tuners are being used to record something, is to add a command to close the local MC session before opening the MC Client session. That command should be added just after the @echo off command, and the new batch file would look like;
@echo off
mc21.exe /close
Call "C:\Program Files (x86)\J River\Media Center 21\Media Center 21.exe" /Library "Your Server Library"
mc21.exe /Library "Your Local Library"
I tested all the above, as I usually do, with MC starting in Standard View and Theatre View. It all works fine. You will need to alter the shortcut when you upgrade to MC22, and manage it during any major system changes, updates, uninstalls etc., since it won't be maintained by JRiver. Not a big ask though. Document it.
Still the above isn't perfect. If the local library is recording something, and a user executes the Shortcut, MC will pop up a message asking you to confirm that you want to close the local library, and that a TV recording is in progress, as per the attached image. If the user decides against this and to keep that recording going, the MC Client won't be re-opened, but the first Call command will still be run. MC will again pop up the message about the current TV recording, and the user will again need to click "No" in the dialogue. Then the last command will still be run. I haven't tested that scenario, where a user tries to open a local library when the local library is already running a TV recording, in fact I can't as I don't have a tuner on my Client PC, but I think attempting to reopen the local library will interrupt the recording. On my HTPC running the MC Server, if I try to switch from the Server library to the Server library, effectively reloading it (I had to use the Toolbar Button to do this, as MC doesn't allow the normal "Load library", since that library is already loaded), I received the normal popup message, as per the attached image. Selecting "Yes" resulting in the recording being stopped and saved, and then restarted again, so that the program was cut into two files. Not ideal. Selecting "No" should result in the attempted switch being abandoned, and the local library continuing to record.
So, as you can see, a fool proof method would need to test for conditions, such as which library is currently running, and is it recording anything, probably using MCWS and a better tool than Windows batch files. You might also want MC to switch to the local library if nothing has been watched on the server library for a period of time. But if someone leaves a Server program paused, and walks away, do you still switch to the local library, and how long should you wait for the user to return to watch the rest of the program? In fact, how often should you check if local library is being run, and switch to it? doing so while someone is browsing media, looking for something to watch, or answering a phone call for a few minutes, could be very annoying. All of that is more programing than I am going to do. All the above could be avoided with a little user understanding anyway. After all, if a user closes the Server library session, then forgets they have done that and doesn't check, and closes the running local library session, no version of MC would be running, and local TV recordings would be missed.
Some of your insights and requirements have been really good Eric, and I'm sure JRiver appreciate that, and the time you put into them. Sometimes you make it hard for us to help you.
In this case, if you only ever used a shortcut on the Client PC that started MC using the local library, and "trained" your user(s) to simply switch to the Server library, and switch back to the local library when finished, none of this would be required. It really isn't a difficult thing to learn. The process could even be enhanced by adding the standard MC Toolbar button called "Library" to the toolbar, which then allows a user to select the library they wish to connect to using a drop down list. A menu item could also be added into Theatre View to switch to any library you wanted to.
What it all comes down to is; What is a simple, logical way for you and your users to use MC, that is within their capabilities and makes sense to them? Once that has been defined and settled upon, creating a solution is easy. I don't think Yaobing's idea of adding an option to start in the local library will actually assist any more than my suggestions above. The feature already exists, with a little Shortcut maintenance. The real issue is; How will the users use this feature?
In the long run, sharing the Client tuners with the server negates all of the above. . . with some caveats around sharing, priority, communicating availability, and so on. I can think of some failure modes even with that solution implemented.
Anyway, onward and upward. Never look back.