ddurdle / Hive-for-KODI

An Hive (QVIVO) Video/Music add-on for Kodi / XBMC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Show friend's logo while browsing list of friends

JoKeRzBoX opened this issue · comments

Nice to have. I've sent a pull request proposing a code change to show the logos.

Cheers!

JoKeRz BoX

Another quality submission. Just tested. Looks great. Great idea.

I have some changes I want to make for non-premium and some things around STRM. Should get those out today, so I'll be wrapping your changes up in the 0.2.2 build.

THANKS!

No problem. I liked your brilliant idea to create a folder with the forcing folder id from Hive as bookmark. That is soooo useful when you have too many friends and just a few sharing good content.

I started to work on another enhancement for non-premium but I accidentally lost my changes today when I tested this "friend's icon change". But should be fairly easy for me to rewrite it.

My change was: ability to chose the default download option (original, transcode, ask) per media type (audio, video, photo) so one can set music to original and video to transcode (useful for non-premium). Another nice thing would be to set a default transcode option for video (240p, 360p, 480p, 720p) and audio (32k, 128k) so we can avoid the pop-up as a whole. My change was basically creating a playback_type for each type (playback_type_video, etc,) and manage its utilization in default.py and hive.py, and setting it in settingx.xml

Let me know if you want me to try to create such enhancement. I do not want to conflict with what you are doing.

Cheers!

I know what you mean. I almost just lost my changes I just made for 0.2.2 (after having spent a few hours on them). Eclipse sometimes acts up, so prior to trying to sync changes with github, I run a shell script to create a copy of the changes. Had that feeling this morning, ran the script just before committing. The commit rolled back my git. I just ended up copying back the "backups" overtop and the second commit took.

The enhancement you speak of would be beneficial. I just rolled out essentially that for non-premium (to default on 240p). I haven't had time to examine the situation with audio (what streams are available for non-premium, etc). For the Google Drive plugin, I had provided a mechanism for users to select their preferences (HD, SD). It also had some other options (select 720 or 1080, etc), including selecting a particular type of codes (FLV, WEBM, MP4) since some codecs will play better for some devices better. Audio type also factored in, so it turned out to be a real pain to develop and support, as there were literally over a hundred combinations.

For the mediaURL I have an order parameter. I used that to factor in the settings to allocate numbering to prioritize the order that the streams are shown based on the user's settings, and to default on a stream that perfectly patches the user's setting. I had something to a lesser extend for Firedrive (HD, SD, original).

I don't have a premium account, so it will be impossible for me to test.

In the mediaURL object, the quality should be set to the resolution (without the p) and the order (integer) would be the rank of the streams (if user prefers 720 then 480), the order would rank the streams and their top choice would be 0 or 1, so it makes it to the top. Then based on the "ask" parameter it will either take the 0 or 1 and playback or present the list of streams if their priority choice is missing.

Right now, I notice I'm missing the sort when I present the list. That would have to be added to sort the list according to the user's preference.

Anyways, it's way over complicated for this hive situation since we only have one type of codec (MP4) and the stream qualities are pretty standard (and a user would probably either choose to default to 1080 or force to 720 or 480 if their bandwidth is an issue). With Google Drive, the complication needed to be there because if a user had a preference "highest setting", they may regret that if they run into a "higher than 1080p stream" that kills playback because their bandwidth can't comply.

I'm done making my changes for at least a few days. It's all yours if your game. If someone report some critical bug that renders their use of the plugin broken on 0.2.2, they can drop back to 0.2.1 until the next release. There is nothing critical in 0.2.2 to justify an emergency fix.

Ok, if I find he time this holiday I will try to implement something simple where both premium and free users can tell which is their preferred maximum resolution for video and audio separately. I believe I have the current list of possible transcoding from Hive:
Video: 240p (free user max), 360p, 480p, 720p
Audio: 32k (free user max), 128k, 320k
I can see Hive transcodes all videos with xvid and h264 codecs, using either avi, mp4 and mkv containers. I haven't tested other containers

Quick question: is there any use for isQuickLink and playbackType parameters under addMediaFile method (default.py)? Are you saving those 2 parameters for future use? If not, I propose to remove them to make it clean and remove some unused lines of code populating those 2 parameters. Not having those will also make my proposed changes easier to merge into your code :)

Cheers,

JoKeRz BoX

I was actually looking at the parameters today and was ready to cut them
out but opted to leave them as-is for now. I was using them in another
plugin.

In other plugins, I use the isQuickLink to allow users to generate playback
links directly from the directory listing (one less web service call).
Right now, the media files are links to the plugin, and the plugin resolves
the playback links. Fewer web calls when the links themselves are playback
urls themselves, but you can't "favourite" them as they do expire. If
there is no need for isQuickLink, then there is obviously no need to know
the playback quality either. Therefore, you should consider them deleted.
I'll clean them out on the next update.

I've kept the playback_type setting as it stood before, and added the
free_playback_type. Allows someone to switch between configurations easily
from the accounts screen without having to modify their playback settings
each time.

I think I uploaded or remote copied FLV and M4V files in. They're being
encoded in the same manner as the other files. Hard to really tell since
their web interface drops the extension. The extension is in the details
provided in the API. Its going to be needed for when caching is rolled in.

On Wed, Dec 31, 2014 at 3:25 PM, JoKeRzBoX notifications@github.com wrote:

Ok, if I find he time this holiday I will try to implement something
simple where both premium and free users can tell which is their preferred
maximum resolution for video and audio separately. I believe I have the
current list of possible transcoding from Hive:
Video: 240p (free user max), 360p, 480p, 720p
Audio: 32k (free user max), 128k, 320k
I can see Hive transcodes all videos with xvid and h264 codecs, using
either avi, mp4 and mkv containers. I haven't tested other containers

Quick question: is there any use for isQuickLink and playbackType
parameters under addMediaFile method (default.py)? Are you saving those 2
parameters for future use? If not, I propose to remove them to make it
clean and remove some unused lines of code populating those 2 parameters.
Not having those will also make my proposed changes easier to merge into
your code :)

Cheers,

JoKeRz BoX


Reply to this email directly or view it on GitHub
#13 (comment).

I removed the unused playbackType and isQuickLink. I also did some slight refactoring. None of the changes are functional changes. If you make any changes, I'll merge them.

I pushed the refactoring to the master but I'm not pushing a release since there is no functional changes.