Reply to thread

No joy, it appears to work the way it always did. If I enter "17" it goes to channel 48, the 17th item in the database. The only thing in the database that "looks like" 17 is the value in iSort which is a zero-based field so the 17th value in there is "16".


So another experiment to see if in fact the channel is actually selected based on iSort. I ran some local SQL using the SQLLite DB browser tool from the docs:


UPDATE channel SET iSort = (iChannelNr-1) WHERE bExteranl = 0 and

UPDATE channel SET iSort = (ExternalChannel-1) WHERE bExternal = 1


The result of this was to set the value of the iSort field equal to the channel number minus 1 (iSort appears to be zero-based). I fired up MP and went to fullscreen. I then tried selecting a channel based on the channel number but the result was exactly the same. The channel that displays occupies the "nth" row in the database.


I'm not familiar with SQLLite so there may well be some access function going on with which I am not familiar, but I know from my work with other database systems (MS-SQL, MS-Access, MySQL) that I have never tried getting data based on the physical row location in the database. My work involves larger, dynamic databases where this would be a particularly unreliable way of accessing data. MP's database is small and relatively fixed so maybe this works OK, or as I said there is some other mechanism at work in MP and/or SQLLite.


Anyway, bottom line is that these changes did not make any difference, and absent a better understanding of the internals of MP, I haven't been able to identify a simple method that would work in all cases.


Top Bottom