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

    • WildBit Viewer 6.20 released; no further updates planned by Razvan Serea WildBit Viewer is a popular, fast, and extensive image viewer offering a comprehensive suite of tools for photographers, designers, and image enthusiasts. It includes a powerful Viewer, Slide Show, Editor, Search, Profile Switcher, and Multi-Screen Viewer. The Viewer provides blazing-fast folder, file list, and thumbnail navigation with customizable headers, full-screen view, and a shell toolbar to organize favorite folders. It supports all major graphic formats (over 70), including JPEG, TIFF, PNG, BMP, GIF, PCX, TGA, and RAW formats. Detailed Image Info shows EXIF, IPTC, and XMP metadata, with rotation based on EXIF orientation, wallpaper setting, image comparison, geo-tag viewing, color labels, and CMS-aware color management. The Slide Show module offers 176 transition effects, multi-monitor support, custom shows with per-image settings, image marking, zoom, rotate, and desktop hiding for a professional viewing experience. The Editor supports advanced image manipulation, including crop, resize, color adjustments, curves, edge detection, effects, batch processing, retouching, layer support, and printing. Users can apply mass renaming, update or clear metadata, and work with multi-page TIFFs and animated GIFs. Search allows filtering by name, location, date, size, attributes, and metadata, while the Profile Switcher saves and loads custom layouts for all modules. The Multi-Screen Viewer opens multiple windows on available monitors, allowing simultaneous image viewing with independent zoom, pan, and rotation. WildBit Viewer also supports portable operation, 32- and 64-bit versions, Unicode, high-DPI displays, and multiple Windows styling options. With its combination of speed, versatility, and rich feature set, WildBit Viewer is an indispensable tool for managing, editing, and showcasing images efficiently. WildBit Viewer key features: Blazing-fast folder, file list, and thumbnail browsing Supports 70+ image formats including JPEG, TIFF, PNG, BMP, GIF, and RAW Full-screen view with multi-monitor support Explorer-style file handling with customizable headers Thumbnail Browser with sorting, view change, and fast size adjustment EXIF, IPTC, and XMP metadata viewing and editing Automatic rotation based on EXIF orientation Shell toolbar for organizing favorite folders Image Compare to calculate similarity between images Mass renaming and batch metadata updates File List Generator (HTML, CSV, RTF, TXT, Unicode) Rating and color labels, CMS-aware color management Video playback (AVI, MPG, MPEG, WMV) Animated GIF, multipage TIFF, Camera RAW support Slide Show with 176 transition effects and custom settings Editor: crop, resize, rotate, flip, canvas resize, and retouching tools Batch processing and image format conversion Multi-Screen Viewer: multiple windows with independent zoom, pan, and rotate Profile Switcher: save, load, reset, delete module profiles Portable operation, 32-/64-bit support, Unicode, and high-DPI ready WildBit Viewer 6.20 changelog: Viewer, Slide Show, Editor, Search, Profile Switcher & Multi Screen Viewer. Updated ImageEn to 15.0.0 version. Viewer, Slide Show, Editor, Search, Profile Switcher & Multi Screen Viewer. Updated Jedi JCL&JVCL. Viewer - Image Geo Info, OpenStreetMap removed. Slide Show Remote Mode removed. Note! This means that WildBit Slide Show Remote is now officially EOL. Editor - Shortcut keys for Capture removed. Optimized code. Note! This version includes help what supersedes all previous releases. plus Lots of bug fixes and changes, check Readme files for details. WildBit Viewer End‑of‑Life WildBit Viewer has reached its final release with version 6.20. As development comes to a close, no further feature updates are planned. WildBit Slide Show Remote reached End-of-Life on 06 June 2026, while WildBit Viewer will reach End-of-Life on 30 June 2026. Downloads will remain available until the end of July 2026 (possibly extending into early August). After End-of-Life, the software will no longer receive updates, security fixes, or technical support. Download: WildBit Viewer 64-bit | Portable 64-bit | ~70.0 MB (Freeware) Download: WildBit Viewer 32-bit | Portable 32-bit Links: WildBit Viewer Homepage | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Thanks for liking it! 😊 That's Arch Linux with Gnome.
    • LOL. Can't even quote and edit a comment correctly. Figures you're a Linux user.
    • It won't perform hugely better than the 3080 unless you're VRAM limited in games. Have you tried putting new thermal pads on them 3080 and giving it a good clean to see if you can regain your temps and overclock?
  • Recent Achievements

    • Week One Done
      Windows Guy earned a badge
      Week One Done
    • Dedicated
      Mark Spruce earned a badge
      Dedicated
    • Collaborator
      conkir earned a badge
      Collaborator
    • Rising Star
      olavinto went up a rank
      Rising Star
    • One Month Later
      lamborghiniv10 earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      479
    2. 2
      PsYcHoKiLLa
      252
    3. 3
      Steven P.
      71
    4. 4
      FloatingFatMan
      69
    5. 5
      +Edouard
      69
  • Tell a friend

    Love Neowin? Tell a friend!