2e3s / aw-watcher-media-player

Watcher of system's currently playing media for ActivityWatch
The Unlicense
26 stars 2 forks source link

Unable to Locate Configuration File `aw-watcher-media-player.toml` on Windows 11 #4

Closed TeomanEgeSelcuk closed 4 months ago

TeomanEgeSelcuk commented 5 months ago

Description

I have thoroughly reviewed the documentation and followed the installation instructions for the aw-watcher-media-player project, but I am unable to locate the aw-watcher-media-player.toml configuration file on my Windows 11 machine. The documentation mentions that this file should be located in the user's local configuration directory, but I coulnt find it in any path in the computer. I need this file to configure the watcher properly.

Environment Details

Installation Steps Followed

  1. Ran the attached installer executable as mentioned in the documentation.
  2. Alternatively, I tried manually unpacking the executable from aw-watcher-media-player-windows.zip into a new folder and added the folder path to the system's Environment Variables.
  3. Checked for the configuration file aw-watcher-media-player.toml in the user's local configuration directory, but it was not found. Also search through all directories with the software called Everything and could not find it anywhere.

Configuration Details

The configuration file should contain parameters such as:

port = 5600
host = "localhost"
poll_time = 5
include_players = ["Spotify", "firefox", "chrom"]
exclude_players = ["chromium"]

Expected Behavior

The aw-watcher-media-player.toml file should be present in the local configuration directory after installation.

Actual Behavior

The configuration file aw-watcher-media-player.toml is not found in the local configuration directory or in any directory.

Steps to Reproduce

  1. Install aw-watcher-media-player on a Windows 11 machine.
  2. Check the local configuration directory for the aw-watcher-media-player.toml file.

Additional Context

According to the documentation:

I used the Everything software to search for the .toml files on my computer, but aw-watcher-media-player.toml is nowhere to be found. Please see the attached image for the search results.

Attachments

image

Thank you for your assistance.

2e3s commented 5 months ago

Hello! Readme may be insufficient as it doesn't state that explicitly, this configuration file is created on the first run of the binary, unless it's created manually. The defaults should work with a local ActivityWatch out of box though, with no actions from the user.

TeomanEgeSelcuk commented 4 months ago

@2e3s

I have run the binary aw-watcher-media-player.exe with administrative permissions, but it still has not created the aw-watcher-media-player.toml file. I have created the aw-watcher-media-player.toml file manually and placed these configurations in it:

port = 5600
host = "localhost"
poll_time = 5
include_players = ["Spotify", "firefox", "chrom"]
exclude_players = ["chromium"]

However, it still does not work. Here is an image of the configuration directory also attached:

image

Side Question: From my understanding this project makes it possible to track media players like VLC and Spotify more accurately than the default ActivityWatch right?

Thank you for your assistance.


2e3s commented 4 months ago

If I understand correctly, you're looking at ActivityWatch folder, but ActivityWatch is a different app. The config is at LocalAppData, example: C:\Users\Alice\AppData\Local\aw-watcher-media-player.toml.

TeomanEgeSelcuk commented 4 months ago

I have added the aw-watcher-media-player.toml file to the following directory: C:\Users\user1\AppData\Local\activitywatch\activitywatch\aw-watcher-media-player\aw-watcher-media-player.toml. Based on your comment, should the configuration file instead be placed directly in C:\Users\user1\AppData\Local\?

2e3s commented 4 months ago

Yes, that's the place directly.

TeomanEgeSelcuk commented 4 months ago

Hi @2e3s,

Thank you for your guidance. I have placed the aw-watcher-media-player.toml file directly in C:\Users\user1\AppData\Local\ as instructed. Here are the details of my configuration:

port = 5600
host = "localhost"
poll_time = 5
include_players = ["VLC", "VLC media player"]
exclude_players = ["chromium"]

I am attempting to track VLC media player activity. From my understanding, poll_time specifies how often the media player is pinged for activity, so a poll_time of 5 means a pings every 5 second, correct?

Despite including both VLC and VLC media player in the include_players list, it still does not seem to work. Any further assistance or suggestions would be greatly appreciated.

Thank you for your support.

2e3s commented 4 months ago

so a poll_time of 5 means a pings every 5 second

Yes.

If you run manually C:\path\to\aw-awatcher-media-player.exe -vvvv in the terminal while playing a media in VLC, what kind of output do you see? You'd need to remove aw-awatcher-media-player from ActivityWatch config then if you added, and keep running ActivityWatch.

TeomanEgeSelcuk commented 4 months ago

Here is the output from running aw-watcher-media-player.exe -vvvv in the cmd terminal:

C:\Users\user1\OneDrive\Desktop\Coding\aw-watcher-media-player-windows>aw-watcher-media-player.exe -vvvv
2024-06-17T12:00:58.660Z TRACE [aw_watcher_media_player::config] TOML config: Toml { port: 5600, host: "localhost", poll_time: 5, include_players: ["Spotify", "VLC", "VLC media player", "Chrome"], exclude_players: [] }
2024-06-17T12:00:58.660Z TRACE [aw_watcher_media_player::config] CLI config: Cli { config: None, host: None, port: None, poll_interval: None, include_players: [], exclude_players: [], verbosity: Verbosity { verbose: 4, quiet: 0, phantomData<clap_verbosity_flag::ErrorLevel> } }
2024-06-17T12:00:58.660Z DEBUG [reqwest::connect] starting new connection: http://localhost:5600/

As you can see, the configuration seems to be loaded, but there might still be some issues.

Additionally, aw-watcher-media-player is not present in the config folder. Here is the directory structure:

Directory of C:\Users\user1\AppData\Local\activitywatch\activitywatch

06/03/2024  05:29 PM    <DIR>          aw-client
06/03/2024  05:29 PM    <DIR>          aw-qt
06/07/2024  05:37 PM    <DIR>          aw-server
06/03/2024  05:29 PM    <DIR>          aw-watcher-afk
06/03/2024  05:29 PM    <DIR>          aw-watcher-window
06/03/2024  05:29 PM    <DIR>          Cache
06/07/2024  05:53 PM    <DIR>          Logs

I have also tested the setup by using VLC media player and playing a movie for 10 minutes. The output was the same as shown above.

Thank you for your support.

2e3s commented 4 months ago

I would expect these flowing in when aw-watcher-media-player is started, and the media player is running a media.

2024-06-17T16:20:28.611Z INFO  [aw_watcher_media_player::watcher] Reporting {"album": String("Eiszeit"), "artist": String("Eisbrecher"), "player": String("Spotifyd"), "title": String("Die Engel"), "uri": String("https://open.spotify.com/track/61Sv4LC3CQdN1pqS21vb2n")}

It seems that VLC doesn't report out of box to the system, i.e. you don't see something like

Windows Media Overlay ![image](https://github.com/2e3s/aw-watcher-media-player/assets/4003445/06136df8-89a7-4ecb-8282-a73cbec6cf46)

Some other media players do have this functionality. Possible solutions: This plugin seems to do this for VLC classic: https://github.com/spmn/vlc-win10smtc This variant of VLC does report out of box: https://apps.microsoft.com/detail/9nblggh4vvnh

TeomanEgeSelcuk commented 4 months ago

Thank you so much that works !