Recommended Posts

 

Hi! Thanks a lot for your feedback!

Most of the features your asking for are planned, eventually (I'm working as fast I humanly possible :))

What do you mean with extended dates? Is there a tag which is reserved for that? (I'm developing a music player, but I don't know much about the available tags :blush: so feel free to enlighten me :))

Concerning the blurry images: are you using a scaling larger than 100% in Windows? If yes, which scaling? I only did tests with 100 and 125%, so I might have missed this issue.

Feel free to improve/correct the French translation if needed. My french was never 100% and is getting a bit rusty :) I'd be glad to include it in next releases.

I'm happy to see that most of these features are planned on your side! I think you progress very fast on the developpement. :)
Extended dates are probably stored in the same "date" tag (have to make some research about that) with "YYYY MM DD" format instead of "YYYY", more precised date.
About the blurry covers, my Samsung SyncMaster S27A850T is configured with a screen resolution of 2560*1440 and 125% DPI and my Surface Pro 3 has a screen resolution of 2160*1440 and 150% DPI. I'm using Windows 10 Pro 64.
Ok, i will check the French translation, but it seems like it's very well translated. ;)
 

I think he means how some music services like itunes are starting to tag the release year with the complete release date (month and day).  Personally I find this irksome as hell and edit the tags to just the year.  I would ask him for a file tagged like that so you can see exactly what he's talking about.

 

I think he means how some music services like itunes are starting to tag the release year with the complete release date (month and day).  Personally I find this irksome as hell and edit the tags to just the year.  I would ask him for a file tagged like that so you can see exactly what he's talking about.

 

When i rip a CD of my collection, i put the complete release date in the "date" tag but Dopamine only reads the "YYYY" format.

I have an example of a file tagged this way, I pm'd you a link to it

and here's a screenshot showing how the date tag is read in foobar2000 vs in dopamine

 

Untitled.png

Thanks! PM and file received. I can see that tag in foobar. I just spent a few hours trying to figure out how to read it, but it seems like a mysterious, badly documented tag. I wasn't able to find out how to get its value using taglib. So I've created a task and delayed adding this tag for later. I feel too frustrated right now :)

 

Thanks! PM and file received. I can see that tag in foobar. I just spent a few hours trying to figure out how to read it, but it seems like a mysterious, badly documented tag. I wasn't able to find out how to get its value using taglib. So I've created a task and delayed adding this tag for later. I feel too frustrated right now :)

Yep, ID3 tags can be a huge pain for sure :)

just an FYI - feedback

The self-updater... work like a charm!!!

Also you are doing some awesome work. keep it up.!

PS - thanks for fixing that bug that caused the player to stop.... when it couldn't figure out the correct end of song.

I know you fixed it ages ago but Just wanted to say that MADE my LIFE SO much EASIER... best fix so far.

Just had the latest build (portable) go crazy, i was searching for a specific song, and while it was playing, it started pausing for a split second, then it totally froze, when I checked in task manager I saw it was using over 1 GB of RAM... this is on Windows 10 X64 8GB RAM, I'm attaching the log file.

2015-09-13 22:33:08.1741|Info|Dopamine.Application.ExecuteStartup|### STARTING dopamine, version 1.0.0 (Build 368). IsPortable = True ###
2015-09-13 22:33:11.3072|Info|Dopamine.Core.Database.DbMigrator.InitializeNewDatabase|New database created at D:\Web Downloads\Dopamine 1.0.0 (Build 368) Preview - Portable\Dopamine\Dopamine.db
2015-09-13 22:33:14.9129|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 22:33:14.9379|Error|Dopamine.Common.Services.File.FileService._Lambda$__110|There was a problem while fetching file artwork. Exception: Could not find a part of the path 'D:\Web Downloads\Dopamine 1.0.0 (Build 368) Preview - Portable\Dopamine\Cache\CoverArt'.
2015-09-13 22:33:29.7765|Info|Dopamine.SettingsModule.ViewModels.SettingsCollectionFoldersViewModel+VB$StateMachine_0_AddFolder.MoveNext|Adding a folder to the collection.
2015-09-13 22:33:42.9136|Info|Dopamine.Core.Database.FolderRepository+_Closure$__12._Lambda$__19|Added the Folder F:\Music
2015-09-13 22:33:50.5204|Info|Synapse.Synapse.Main|<<< Synapse indexer started >>>
2015-09-13 22:33:50.5324|Info|Synapse.Synapse.Main|Validating process
2015-09-13 22:33:50.5394|Info|Synapse.Synapse.ValidateProcess|Commandline argument 1: IgnoreRemovedFiles = True
2015-09-13 22:33:50.5394|Info|Synapse.Synapse.Main|Initializing WCF proxies
2015-09-13 22:33:50.6004|Info|Synapse.Synapse.Main|Notifying the main application that the indexer is started
2015-09-13 22:33:50.7254|Info|Synapse.Synapse.Main|Waiting for the database
2015-09-13 22:33:50.7254|Info|Synapse.Synapse.WaitForDatabase|D:\Web Downloads\Dopamine 1.0.0 (Build 368) Preview - Portable\Dopamine\Dopamine.db was found. Proceeding.
2015-09-13 22:33:50.7270|Info|Synapse.Synapse.Main|Initializing the Indexing Worker
2015-09-13 22:33:52.4767|Info|Synapse.Synapse.Main|Initializing the LifeBeat Timer
2015-09-13 22:33:52.4767|Info|Synapse.Synapse.Main|Starting the LifeBeat Timer
2015-09-13 22:33:52.4777|Info|Synapse.Synapse.Main|Updating collection
2015-09-13 22:33:52.4777|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_21_IndexCollectionAsync.MoveNext|+++ STARTED INDEXING COLLECTION +++
2015-09-13 22:33:52.5346|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_21_IndexCollectionAsync.MoveNext|Tracks removed: 0. Time required: 47 ms +++
2015-09-13 22:34:20.2997|Error|Dopamine.Core.Database.FolderRepository+_Closure$__15._Lambda$__22|Error while recursively getting files/folders. Exception: System.UnauthorizedAccessException: Access to the path 'F:\Music\Albums\2Cellos' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetFiles(String path)
   at Dopamine.Core.IO.FileOperations.DirectoryRecursiveGetFiles(String iSourcePath, List`1 iFiles, String[] iValidExtensions, ConcurrentQueue`1 oExceptions)
2015-09-13 22:34:20.2997|Error|Dopamine.Core.Database.FolderRepository+_Closure$__15._Lambda$__22|Error while recursively getting files/folders. Exception: System.UnauthorizedAccessException: Access to the path 'F:\Music\Albums\2Cellos' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetDirectories(String path)
   at Dopamine.Core.IO.FileOperations.DirectoryRecursiveGetFiles(String iSourcePath, List`1 iFiles, String[] iValidExtensions, ConcurrentQueue`1 oExceptions)
2015-09-13 22:34:20.3707|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_21_IndexCollectionAsync.MoveNext|Tracks updated: 0. Time required: 4 ms +++
2015-09-13 22:38:14.9162|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 22:43:14.9173|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 22:48:14.9174|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 22:53:14.9299|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 22:58:14.9313|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:03:14.9314|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:08:14.9324|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:13:14.9336|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:16:57.2910|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_21_IndexCollectionAsync.MoveNext|Tracks added: 90839. Time required: 2556920 ms +++
2015-09-13 23:18:14.9357|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:22:33.2837|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_21_IndexCollectionAsync.MoveNext|+++ FINISHED INDEXING COLLECTION: Tracks removed: 0. Tracks updated: 0. Tracks added: 90839. Time required: 2920796 ms +++
2015-09-13 23:22:33.3032|Error|Synapse.Synapse.IndexCollection|Could not get from the main application if extra collection check is needed. Exception: There was an error writing to the pipe: Unrecognized error 232 (0xe8).
2015-09-13 23:22:33.3077|Error|Synapse.Synapse.IndexCollection|Could not notify the main application to refresh the lists. Exception: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
2015-09-13 23:22:33.3077|Info|Synapse.Synapse.Main|Updating artwork
2015-09-13 23:22:33.3077|Error|Synapse.Synapse.IndexArtwork|Could not notify the main application that updating artwork started. Exception: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
2015-09-13 23:22:33.3077|Info|Dopamine.Core.Indexing.Indexer+VB$StateMachine_23_IndexArtworkAsync.MoveNext|+++ STARTED INDEXING ARTWORK +++
2015-09-13 23:23:14.9361|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:28:14.9468|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:33:14.9473|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:35:35.3701|Info|Synapse.Synapse.Main|Aborting WCF proxies
2015-09-13 23:35:35.4371|Error|Synapse.Synapse.Main|Synapse indexer encountered an unexpected error. Synapse indexer stops now. Exception:
System.AggregateException: One or more errors occurred. ---> System.ServiceModel.CommunicationException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size)
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   --- End of inner exception stack trace ---

Server stack trace:
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSendCore(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Synapse.DopamineServiceReference.ICommunicationService.IndexingStopReportingProgress()
   at Synapse.DopamineServiceReference.CommunicationServiceClient.IndexingStopReportingProgress()
   at Synapse.Synapse.StopReportingProgress(Object sender, IndexingEventArgs e)
   at Dopamine.Core.Indexing.Indexer.VB$StateMachine_23_IndexArtworkAsync.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Synapse.Synapse.IndexArtwork()
   at Synapse.Synapse.Main()
---> (Inner Exception #0) System.ServiceModel.CommunicationException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size)
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   --- End of inner exception stack trace ---

Server stack trace:
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSendCore(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Synapse.DopamineServiceReference.ICommunicationService.IndexingStopReportingProgress()
   at Synapse.DopamineServiceReference.CommunicationServiceClient.IndexingStopReportingProgress()
   at Synapse.Synapse.StopReportingProgress(Object sender, IndexingEventArgs e)
   at Dopamine.Core.Indexing.Indexer.VB$StateMachine_23_IndexArtworkAsync.MoveNext()<---


Stack trace:
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Synapse.Synapse.IndexArtwork()
   at Synapse.Synapse.Main()
Inner Exception 1:
System.ServiceModel.CommunicationException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size)
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   --- End of inner exception stack trace ---

Server stack trace:
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSendCore(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Synapse.DopamineServiceReference.ICommunicationService.IndexingStopReportingProgress()
   at Synapse.DopamineServiceReference.CommunicationServiceClient.IndexingStopReportingProgress()
   at Synapse.Synapse.StopReportingProgress(Object sender, IndexingEventArgs e)
   at Dopamine.Core.Indexing.Indexer.VB$StateMachine_23_IndexArtworkAsync.MoveNext()
Inner Exception 2:
System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size)
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)

2015-09-13 23:35:35.4592|Info|Synapse.Synapse.Main|<<< Synapse indexer FORCED stop >>>
2015-09-13 23:35:39.7639|Error|Dopamine.Common.Services.Indexing.IndexingService.CheckLifeBeatTimerElapsed|There was no Indexer LifeBeat for more than 3 seconds. Stopping the indexing.
2015-09-13 23:38:14.9535|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:43:14.9623|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:48:16.6794|Info|Dopamine.Common.Services.Playback.PlaybackService+VB$StateMachine_70_DeleteRuntimeFilesAsync.MoveNext|Deleting runtime files.
2015-09-13 23:48:16.6854|Error|Dopamine.Core.Database.TrackRepository+_Closure$__30._Lambda$__36|Could not get all the Tracks. Exception: Exception of type 'System.OutOfMemoryException' was thrown.
2015-09-13 23:48:21.6702|Error|Dopamine.Core.Database.TrackRepository+_Closure$__30._Lambda$__36|Could not get all the Tracks. Exception: Exception of type 'System.OutOfMemoryException' was thrown.

 

I added a Genres screen (build still in testing):

 

That would be extremely useful if "genre" were ever correctly listed on mp3s. Sigh, those tags are such a headache.

Still has issues with not accepting commands from media keyboards (even once setting it on a per-program basis)

It is great seeing Dopamine grow, look forward to new features.

 

That would be extremely useful if "genre" were ever correctly listed on mp3s. Sigh, those tags are such a headache.

Still has issues with not accepting commands from media keyboards (even once setting it on a per-program basis)

It is great seeing Dopamine grow, look forward to new features.

Correct about genres usually not being useful. It's the reason I originally wasn't planning to add such a screen. It was asked however, and I thought: why not, it is almost a copy of the Artists screen, but then for Genres :rofl:

For the keyboard commands: correct, I haven't changed anything yet, as I haven't been able to reproduce it. But I must say I have tried it only while playing half life 2 fullscreen. So I don't know yet what is interfering with the keyboard commands.

What do you mean setting on per program basis? Is that some kind of configuration in software delivered with your keyboard? Dopamine listens to standard windows keypresses basically any key and then only acts on the keycodes linked to media keys. Maybe we can try this:

Download KeyboardTest5.exe here (this is a link to the directory on dropbox where the exe resides, it doesn't directly download the exe). This exe is from me, so it is safe (the source code is also in that directory). Launch the exe before starting a game, start pressing media keys, and check what the ouput of the program is. When done, select everything which is displayed in the output window, and send it to me.

Next features will be rating and tagging, but I first want to display album artists in the list of artist. It would be silly to delay that until after tagging was added, because I would then have to change the tagging mechanism again.

just an FYI - feedback

The self-updater... work like a charm!!!

Also you are doing some awesome work. keep it up.!

PS - thanks for fixing that bug that caused the player to stop.... when it couldn't figure out the correct end of song.

I know you fixed it ages ago but Just wanted to say that MADE my LIFE SO much EASIER... best fix so far.

Thank you. And, you're welcome:) The stopping of the player was caused by myself :rofl: (some age old code which I never looked at again :))

Just had the latest build (portable) go crazy, i was searching for a specific song, and while it was playing, it started pausing for a split second, then it totally froze, when I checked in task manager I saw it was using over 1 GB of RAM... this is on Windows 10 X64 8GB RAM, I'm attaching the log file.

Thanks for letting me know. Does it happen all the time, or once?

The "genres" screen is a nice addition!

For the blurry covers in 125% and 150% DPI, i think it's a problem due to how Dopamine displays the pictures as the covers in "cache" folder seem to be in very good quality.

The "genres" screen is a nice addition!

For the blurry covers in 125% and 150% DPI, i think it's a problem due to how Dopamine displays the pictures as the covers in "cache" folder seem to be in very good quality.

Yep you are right. That's fixed for the next build. Technical explanation: dopamine scaled the pictures from the cache folder down to the sizes (100px for artist, 150px for albums) required on the artists and albums screens. But when using a "dpi" higher than 100, this scaled down size is upscaled to 100*1.25 and 150*1.50 by WPF itself, which causes the blurryness. I found a way to work around that.

  • Like 1

 

What do you mean setting on per program basis? Is that some kind of configuration in software delivered with your keyboard? Dopamine listens to standard windows keypresses basically any key and then only acts on the keycodes linked to media keys. Maybe we can try this:

Download KeyboardTest5.exe here (this is a link to the directory on dropbox where the exe resides, it doesn't directly download the exe). This exe is from me, so it is safe (the source code is also in that directory). Launch the exe before starting a game, start pressing media keys, and check what the ouput of the program is. When done, select everything which is displayed in the output window, and send it to me.

 

I am using the native MS Mouse and Keyboard Center with a Digital Media Pro keyboard

KeyboardTest showed

nCode='0', wParam='&H100', vkCode='176'
nCode='0', wParam='&H101', vkCode='176'

 

on pressing "next"

 

Yep you are right. That's fixed for the next build. Technical explanation: dopamine scaled the pictures from the cache folder down to the sizes (100px for artist, 150px for albums) required on the artists and albums screens. But when using a "dpi" higher than 100, this scaled down size is upscaled to 100*1.25 and 150*1.50 by WPF itself, which causes the blurryness. I found a way to work around that.

Nice, waiting for the next preview! :)
I expected that the problem was something like that, thank you for the explanation.


Something else, as i use really often use Dopamine lately, someone already ask about to have, in the "cover play mode" ("lecteur pochette" in french), an option to show the playlist under the visualisation instead of "on the cover", like in the "micro play mode"? I think it would be a nice option.

Nice, waiting for the next preview! :)
I expected that the problem was something like that, thank you for the explanation.


Something else, as i use really often use Dopamine lately, someone already ask about to have, in the "cover play mode" ("lecteur pochette" in french), an option to show the playlist under the visualisation instead of "on the cover", like in the "micro play mode"? I think it would be a nice option.

Well, I think having both options in cover player will cause some kind of inconsistency, isn't it? :/

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Posts

    • Gotenks98 is right... Outlook (new) is absolute trash. Doesn't Mozilla have an Enterprise Version of Firebird?
    • Microsoft Weekly: Surface Laptop Ultra, Windows 11 context menus, Build 2026 recap, and more by Taras Buria This week's news recap is here, with Microsoft announcing the new Surface Laptop Ultra, fresh chips from NVIDIA for Windows on ARM, a no-build week, fixes for Windows 11's context menus, gaming news, reviews, and more. Quick links: Windows 10 and 11 Windows Insider Program Updates are available Reviews are in Gaming news Great deals to check Windows 11 and Windows 10 Here, we talk about everything happening around Microsoft's latest operating system in the Stable channel and preview builds: new features, removed features, controversies, bugs, interesting findings, and more. And, of course, you may find a word or two about older versions. At Computex 2026, together with NVIDIA, Microsoft announced the Surface Laptop Ultra, its most powerful laptop to date, powered by NVIDIA's RTX Spark processor. Details about this computer are currently scarce, as Microsoft has only revealed certain parts of its specs. So far, we know that the computer has a 15-inch mini-LED display, a rich set of ports, a powerful processor, and all-day battery life. It also comes with a new wallpaper, which you can already download here in full resolution. The Surface Laptop Studio is not the only NVIDIA-powered Surface, which Microsoft unveiled this week. At Build 2026, the company also debuted the Surface RTX Spark Dev Box, an odd-shaped desktop with a 20-core NVIDIA Grace CPU and an NVIDIA Blackwell RTX GPU with 6,144 CUDA cores and fifth-generation Tensor Cores with FP4 precision, connected via the NVIDIA NVLink-C2C chip-to-chip interconnect for high performance. According to Microsoft, it can run models with up to 120 billion parameters locally without relying on cloud GPU infrastructure. These two new Surface devices are likely to cost quite a lot, and for those who need a more affordable device, Microsoft is preparing the next-gen Qualcomm-powered Surface Pro and Surface Laptop. This week, details about these two devices leaked in plenty of detail. Other announcements at Build 2026 include the following: Microsoft unveils new security tools for IT admins and developers building AI products Microsoft announces Scout, an OpenClaw-powered personal agent for enterprise customers Microsoft unveils MAI-Thinking-1 reasoning and MAI-Code-1 coding models Microsoft announced a new Windows 11 native command-line utility Microsoft unveils Majorana 2 quantum chip, accelerating commercial timeline to 2029 Microsoft believes that AI agents will eventually replace apps through Project Solara Microsoft introduces Web IQ, a Bing-powered search system built for AI agents Last week, Microsoft released a new Experimental build, which introduced a major Start menu upgrade. It now lets you toggle off specific parts of the menu without affecting other features, resize the menu, and hide additional UI elements. We published a closer look here, so if you want to know what Microsoft is cooking without enrolling in the Insider program and installing unstable builds, check it out. Speaking of new features, many users are very annoyed about the way Microsoft delivers them. Recently, a frustrated user shared their experience with gradual rollouts, and even Microsoft engineers admitted there is a flaw in the system that prevents new features from applying properly. One of those new features includes the ability to uninstall AI models in Windows 11 with a single click. Windows 11 is finally getting fixes for its slow context menus. Marcus Ash from Microsoft confirmed that the company is working on fixing Windows 11's context menus. Reworked context menus are going to be faster, simpler by default, and "configurable to what you use most." According to Marcus, Microsoft will share more details soon. Windows Insider Program Windows 11 preview builds, released last week, are now available for download as standalone ISO files. These days, Microsoft regularly pushes new images, allowing users to clean-install its recent Windows 11 preview builds faster and easier. If you want to try the latest Windows 11 features without jumping through the Windows Update hoops, get those new images here. Sadly, Microsoft did not release new Windows 11 preview builds this week. Come back next time. Updates are available This section covers software, firmware, and other notable updates (released and coming soon) delivering new features, security fixes, improvements, patches, and more from Microsoft and third parties. Microsoft is preparing new features for Teams. Later this month, the messenger will receive a new download manager with auto-dismissing notifications, reducing clutter and making the overall experience less annoying when dealing with downloads. Mozilla released Firefox 151.0.3, a new bug-fixing update for the browser. It is a small release, which fixes problems with pasting into text fields and the oversized VPN button on the toolbar. The update is now available for all users in the Release channel. Here are other updates and releases you may find interesting: VS Code 1.123 introduces massive upgrades for persistent AI developer workflows Microsoft OneDrive is getting a simple yet much-needed feature Microsoft faces heat after quietly blocking promised Office features on Apple systems Microsoft resumes forced Copilot app installation on some Windows PCs Browser vendors pen an open letter to Microsoft, saying "enough is enough" Here are the latest drivers and firmware updates released this week: AMD Radeon Software 26.6.1 with optimizations for F1 25: 2026 Season, World of Tanks: HEAT, and various bug fixes. Reviews are in Here is the hardware and software we reviewed this week Steven Parker dropped more mini PC reviews this week. GEEKOM Air12 2026 Edition is a low-power, affordable computer with an Intel Tiger Lake Pentium Gold processor, up to 16GB of memory, and 512GB of storage, costing just $349. It is light, quiet, energy efficient, and has modern ports on the front. However, the front-facing USB Type-C is data-only, and there are some quirks with the computer's memory, so check out the full review. The AMD RX 9070 GRE has been released worldwide, and we published a benchmark review comparing this powerful graphics card to the RX 9070 XT, 7800 XT, the NVIDIA RTX 5070, and RTX 4070. It has solid, balanced performance, plenty of RAM, and low temperatures, but watch out for mediocre ray tracing performance and not the best efficiency. Also, we reviewed the Cuktech 10 Ultra, a compact, high-power charger with four ports and a big display full of various stats. This tiny charger can pull nearly 120W and spread that power according to each connected device's needs. It also comes with a high-quality 240W cable, three power modes, and retractable prongs. The best part? It is quite affordable, just make sure you have an outlet placed in the right spot to benefit from the built-in display. On the gaming side Learn about upcoming game releases, Xbox rumors, new hardware, software updates, freebies, deals, discounts, and more. Do you remember the ASUS ROG Xbox Ally, Microsoft's first handheld console designed in partnership with ASUS? This week, ASUS revealed a new version of the device to celebrate twenty years of its Republic of Gamers brand. The new ROG Xbox Ally X20 features an OLED display, a transforming D-Pad, TMR sticks, and other changes. However, the chip inside the console is still the same. Forza Horizon 6 launched last month to critical acclaim, but the game will soon have a new rival made by those who used to work on Forza Horizon titles. Mike Brown from Maverick Games announced Clutch, an upcoming racing game with a story-driven campaign, deep car customization, and rich multiplayer. The game is coming to PC, Xbox Series X|S, and PlayStation 5 in Spring 2027. The next update for Minecraft now has a release date. This week, Mojang announced that Chaos Cubed will be available on June 16, 2026. In addition, Mojang published a teaser of the next Minecraft movie. A Minecraft Movie Squared has now been confirmed for a release somewhere in 2027. NVIDIA GeForce Now is getting 18 new games in June. Those include Jurassic World Evolution 3, Fatekeeper, GOALS, Gothic 1 Remake, NTE: Neverness to Everness, and more. If you are a Game Pass subscriber, you can also get new games soon: Persona 5 Royal, Starseeker: Astroneer Expeditions, and more are coming to the service this month. Sumer Game Fest 2026 happened this week, where we saw plenty of new games, including Alien Isolation 2, Final Fantasy VII Remake Part 3, Gen Atlas from the Shadow of the Colossus creator, a new Cuphead game in 8-bit style, a new expansion for Mafia: The Old Country, and more. Finally, here are this week's Weekend PC Game Deals, full of discounts and the latest freebies from the Epic Games Store. Other gaming news includes the following: God of War Laufey announced, introducing Kratos' wife as the new protagonist Ori studio's No Rest for the Wicked 1.0 release and console plans announced Microsoft launches Godot Sample to streamline Xbox PC game development on the engine Great deals to check Every week, we cover many deals on different hardware and software. The following discounts are still available, so check them out. You might find something you want or need. Samsung 990 PRO SSD 2TB NVMe - $389.99 | 39% off Sonos Sub 4 - Wireless Subwoofer - $759 | 16% off Logitech MX Creative Console - $159.99 | 20% off This link will take you to other issues of the Microsoft Weekly series. You can also support Neowin by registering for a free member account or subscribing for extra member benefits, along with an ad-free tier option.
    • Let's goooooooo! I've been loving the entries so far! I still have to finish Rebirth (things have been busy!)! Excited for this next installment.
    • "Revelation?" I was hoping for this episode to be called "Reunion". Oh, well... In a related note, the Final Fantasy VII compilation has received an EC entry, short for Ever Crisis. For those who don't know, it already had AC, BC, CC, and DC entries, short for Advent Children, Before Crisis, Crisis Core, and Dirge of Cerberus. I hope it doesn't get an FC entry becaude that would be a freakin' crisis.
  • Recent Achievements

    • Week One Done
      pestcontrol46 earned a badge
      Week One Done
    • One Month Later
      pestcontrol46 earned a badge
      One Month Later
    • Week One Done
      JKR earned a badge
      Week One Done
    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
  • Popular Contributors

    1. 1
      +primortal
      515
    2. 2
      PsYcHoKiLLa
      277
    3. 3
      Skyfrog
      76
    4. 4
      +Edouard
      71
    5. 5
      FloatingFatMan
      68
  • Tell a friend

    Love Neowin? Tell a friend!