This forum is deprecated. Please visit https://github.com/smplayer-dev/smplayer/discussions

Questions about integration with Windows shell context menu

Problems, bugs, suggestions... anything related to SMPlayer.

Questions about integration with Windows shell context menu

Postby DevNull » Thu Jun 06, 2019 4:33 am

I am new to SMPlayer. I am migrating from VLCPlayer after using it for many years.
I am trying to gain an understanding about how SMPlayer integrates with the Windows shell (context menu) to provide the current single menu item of "Enqueue in SMPlayer". My test machine is Win7.64bit but I will also be using KUbuntu and other *nix flavors. I downloaded the latest 64bit portable binaries and the installer. My questions and testing refer to the INSTALLED app, not the portable (although I prefer portable, I had some issues and had concerns about how the app was storing/retrieving some various settings I had trouble getting to work - not really relevant).

Using Options->Preferences->Keyboard I have reviewed the "Name" column for all items which I understand are "actions" that can be sent on the command line. I have also read what I could find about the command line. So question 1 would be - are the actions -ALL- the available actions inclusive? Is EVERY available command listed in that grid I just referenced?
Question 2 is - I am assuming some actions take either a quoted string filename or a quoted string with a comma-delimited list of filenames. Is that correct?

My issue is that I need to modify the system shell context menu so that I can do more than what is currently available: Enqueue to playlist (and nothing more - for example, PLAY the file being enqueued). And second, to "Open" the file in the app by first wiping out the existing playlist and then to play it.
So question 3 is - am I correct that these are the only 2 actions that can be taken from the context menu?

I am asking because other apps, not just VLC but WinAmp and non-media-player apps - have a bit more sophistication when integrating with the shell context menu of whatever OS they're executing on. My apps included (I am a software engineer). For some examples - "Enqueue & Play" - or "Clear Playlist, then Enqueue, but DON'T play" - etc.. I would also introduce conditional actions such as "but DON'T play unless nothing else is playing". I hope this makes sense and that you can help me by answering a few more questions. Regarding the actions, if the playlist is populated and I execute the SMPlayer binary and tell it to send the pl_add_files or _directory I am guessing that it appends to the list. But let's say we're adding 1 file, it goes to the end, but the player is already playing an item in the list. One in the middle of the list. I would guess then my item does NOT become the "selected" and I would wonder how I can get the file I am adding to be PLAYED as well as just Enqueued. It may sound complicated but it's not really that bad. I do realize that I can get the source code and dig into it myself to find my answers, but I really REALLY don't want another huge pile of code in my hands - as you can guess, I already have a ton of my own code to keep track of and in several languages that differ from what I'd be trying to decipher! LOL I will give you my word however, that if you can get me the information I need I will make the final work/info available to anyone else who wants to do something similar. I may even be willing to help write some docs related to this little task!

One last thing - Obviously if there is a better way to achieve the context menu integration features I've described, rather than executing the binary a second time and having it talk to the first instance - by all means, tell me what I missed!

THANKS in advance to anyone who can offer some assistance or suggestions!
Cheers!
DevNull
 
Posts: 11
Joined: Thu Jun 06, 2019 3:39 am

Return to General

Who is online

Users browsing this forum: No registered users and 38 guests