Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Alex

76
Posts
28
Topics
9
Followers
A member registered Oct 14, 2024 · View creator page →

Creator of

Recent community posts

(3 edits)

You're probably here after clicking "Help" on a parse error window popup, which occurs when trying to rebuild your database:


In order to deliver the best content available, AJ Audio needs to parse all of your artists, albums, and songs (in that order). It does this by requesting the data in order. When data is received from your server, the app will then find a match between the artist and album, and then from the album to each song. If for some reason a match cannot be made, this is when the error message in question appears.


The problem

Artists are requested from the /Artists endpoint. The received json data includes an "ArtistItems" array, which contains IDs for this artist. The problem is, albums and songs which are subsequently downloaded afterward sometimes do not match the artist ID. This is because of a nasty Jellyfin bug which still has not been rectified years later, where IDs for artists in particular can be mismatched. There is no good way to work around this from a software design standpoint (if you know, feel free to DM me!)


How it was done previously

For AJ Audio users who have been using this app for a while may have never even seen this issue before. This is because, there was previously around 4 mechanisms in place for matching IDs (prior to version 2.2). The matching was done primarily through "ArtistItems" (like above), but also by matching the ParentID. This works if your Jellyfin library is structured correctly:

  • Music Folder\Artist\Album\Song.mp3

However, the problem with this is sometimes albums may not be matched to the correct artist. For example, some albums may have multiple artists, or may be a compilation. I believe Jellyfin was primarily written for film/video content, where this issue wouldn't occur, as films/videos do not share the same problem.


The previous endpoint used was /Users/Items/, which is incorrect (but arguably worked better in some scenarios)


How do I fix this?

One of the ways you can resolve this, is by removing your Music folder from your Jellyfin Library via the web UI, and then re-add it. Ensure you replace all metadata. I can confirm this personally fixed the issue for my library, but I cannot guarantee it will work for everyone, as there are so many variables!


If you're pulling your hair out like I have been investigating this bug, feel free to contact me on Discord @alexcjw, or alternatively you can post a topic on here. Thanks!

Hi, thanks for your patience with this. I've resolved these issues and I'm currently finalizing the update, well spotted by the way! I anticipate it'll be ready for download tomorrow evening, cheers! :)

If you could please add me on Discord whenever convenient @alexcjw, just for an easier way to contact you in case there's any questions later on, thank you!

(1 edit)

Interesting thanks, I’ll investigate this today and get back to you asap, thanks! 


To reset this for the meantime, please delete the following directory:

C:\Users\%USERNAME%\AppData\Local\AJ Audio\Profiles\Local\Folders

Amazing thanks

(1 edit)

Using lyrics in AJ Audio

There is a variety of options when it comes to displaying and interacting with lyrics.


Searching for lyrics

You can search for lyrics automatically which will replace the current lyrics on file (if there is any). To do this:

  • Right-click on one or more tracks and select "Lyrics" > "Find automatically"

This will perform a search in the background. Time synchronised lyrics are preferred in the search. However, if none are found, it will resort to plaintext lyrics.


Uploading lyrics manually

You can also replace lyrics manually via file. To do this:

  • Right-click on a track and select "Lyrics" > "Replace from file"

You can import .txt or .lrc files this way


Replacing lyrics via clipboard

If your clipboard contains text, you can replace your lyrics with this text. To do this:

  • Right-click on a track and select "Lyrics" > "Replace from clipboard"


How lyrics are processed

Lyrics are uploaded to your Jellyfin server (if applicable). For local files, the .lrc file is saved alongside the track file on your computer. 

When reading lyrics, AJ Audio will detect if timestamps exist which will determine whether this is in fact a time-synchronised track.

  • The app will automatically sort timestamps in ascending order

Some lines within .lrc files contain a timestamp and no text. For example:

  • [00:01.56]

AJ Audio will interpret this as a break. Meaning once this timestamp has been reached, the current lyric will no longer be highlighted, while still retaining its position at the top.


Customising the lyrics

About the dots

The dots are shown when there is a large gap between one lyric and the next one. You can customise the time threshold in the Settings page. By default, dots are inserted if the gap is 12 seconds or more


Options

Within the settings page, there are a variety of options for displaying lyrics:

  • Format lyrics: This will insert any text within brackets on a new line underneath the current lyric
  • Enable dots: Enable or disable the dots, as explained above
  • Insert dots after the allotted time: the threshold as explained above
  • Uncensor lyrics: This will attempt to uncover censored lyrics
  • Lyric offset: Offset all lyrics by the allotted time, in ms

Replacing Album Art

In AJ Audio, you can replace the album art for your songs automatically with the click of a button. To do this:

  • Right-click on any album or song and select "Find album art"

This will perform a search through all available providers to find the image in question. You can choose to download the maximum quality image via an option in the Settings page ("Prefer large artwork")


Changing providers

There are three available providers. You can remove, reposition, or delete any of these. To do this:

  • Enter the Settings page (...) > Settings, and select "Edit" next to the "Album art providers" text. This can be found underneath the "External resources" section

If you choose to disable all providers, then the "Find album art" option will be greyed out on tracks and albums. The first source in the list will take top priority.

  • The algorithm will check all providers from top to bottom until an image is found. In the unlikely event that no image is found at all, you will be informed


Replacing art manually

You can also replace art manually via the "Replace art from file" option in the context menu.

  • Supported formats: .png, .jpg/.jpeg, .bmp


Writing the album art

The above options work for both media server files and local computer files.

  • For local files, the art is written to the track file itself

Language support

Mult language support has been added in version 2.1.3.


Supported languages

  • English (Traditional)
  • Spanish
  • French
  • German
  • Chinese
  • Portuguese
  • Japanese
  • Russian
  • Polish
  • Korean
  • Swedish


Setting the language

You can change the language via the Settings page. To do this:

  • Click the Options button (...) > Settings

You can then set the language via the dropdown button:


(3 edits)

For a better user experience, there are settings you can change to alter the appearance of AJ Audio in a variety of ways.


Customising the Library

The "Library" is the full-length panel on the left side of the app which displays links, pinned items, and playlists. Here's how it looks:



Collapsing the Library

The Library can be collapsed, which gives you more viewing space on the main page. To do this:

  • Click the Options button (...) > Dock sidebar


Resizing the Library

You can change the width of the Library by simply dragging the edge of it. The Library will automatically dock itself if you make the width small enough


Pinning items

You can pin any item to the Library for quick access. These items will be shown underneath a designated "Pinned" tree which you can collapse. To do this:

  • Right-click on any item and select "Pin to Library"

You can also pin items by dragging them to the Library:


To remove a pinned item:

  • Right-click on the offending item and select "Unpin from Library"


Sorting pinned items

You can sort pinned items by clicking on the sort button:


You can sort by:

  • Alphabetical
  • Recents
  • Date added


Customising the Now Playing panel

You can toggle how the now playing panel looks. This is the bar at the bottom of the app which displays the current track information as well as the media buttons. By default, this panel is rounded and floating, like so:



You can also choose to make this panel the full length of the window, like how it looks on Spotify and other media players. This setting will also align the buttons to the center, with the current track information being displayed on the left with a larger image:


With this look, there is another setting which allows you to view the album art in the very large format, which occupies the space within your Library. Here's how it looks:

  • These options  can be found in the Settings page in the "Now Playing" section


Changing themes

By default, the app theme is "Dark". You can choose different themes in the Settings page. To do this:

  • Click Options (...) > Settings > Theme


Viewing your themes

In the drop-down box in the "Theme" section in the settings, you can view a list of installed themes:



Creating a theme

You can create a custom theme yourself, where you can change the colours of specific UI elements.

  • Changes made to a theme are instantly apparent, and will be saved instantly. You can also revert the colour back to the default


Importing themes

Simply select "Import" as shown above. This will open a File Explorer window, where you can select the .ini file. Once loaded, it will be available in the above list.

(6 edits)

From version 2.1.2 onward, AJ Audio supports Emby as well as Jellyfin and local files.

Below is a list of some features and which media servers they work on

Feature Local files Jellyfin Emby
Listening to musicYesYesYes
Creating and editing PlaylistsYesYesYes
Smart Playlist supportYesYesYes
Ratings (tracks, albums, and artists)YesYesNo
Dislikes (tracks, albums, and artists)YesYesNo
View lyricsYesYesYes* (1)
Replace lyrics via file or searchYesYesNo
Visualiser supportYesYesYes
Big Screen mode supportYesYesYes
Mini Player supportYesYesYes
Replace album art, and playlist artYesYesYes
Replacing artist imagesYesNoNo
Edit metadata for tracks and albumsYesYesYes
Daily mix supportYesYesYes
Explicit tag supportNoYesYes
10-band EqualiserYesYesYes
Pin items to the libraryYesYesYes
Create and manage foldersYesYesYes
CrossfadingYesYesYes
Gapless playbackYesYesYes
Discover music with DeezerYesYesYes
Internet radioYesYes + Live TVYes
Control other devicesNoYesNo
Shortcut supportNoYesYes
Discord supportYesYesYes
Import location supportYes* (2)YesYes


Notes

(1): When playing Emby tracks, the corresponding lyrics will be downloaded from online, rather than using the lyrics you have on file. This is because the Lyrics within Emby are behind a paywall.

(2): The "Add files to library" option should be used for local files, rather than using the import feature, which is purpose-built for media server use.


For queries, suggestions, etc. Post a topic or contact me on Discord @alexcjw

Cheers

Ahh I see thank you, I'm working on these changes for the next update, they'll be added to the changelog soon. I've resolved the issue with the low quality image glitch in this update. Cheers! 

I’ll check this out thank you.


If you enter the Big Picture mode and replace the album art of the playing song (via find automatically), is the image still poor quality?


I would like to have an iOS app for AJ Audio but it isn’t my forte, I’m actively looking into it as we speak but right now I can’t promise anything - stay tuned for further developments! 😁

Certainly, I'll have this added for you on the next update :)

Great news thanks for your kind comments, please let me know if you have any more feature requests or ideas 😀 cheers!

Good afternoon, hope you are well


These issues are still relating to DirectX being unavailable due to the Parallels emulation, do you know how you resolved the issue which prevented you from getting further than opening the app? I’m hoping there’s another setting within Parallels that can be toggled, something GPU or DirectX related which will suppress these issues 


Let me know, cheers

Alex

Good afternoon, apologies with the delay in getting back to you.


Ah that's much beter - can you please ensure the Visual C++ 2022 Redistributable is downloaded and installed. You can download this here:
https://aka.ms/vc14/vc_redist.x64.exe

Or through here:

https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-supported-redistributable-version


Alternatively, you can re-install this app which will install the above for you, please let me know how you get on


Thanks!

Alex

Ah I see, that makes sense. I will certainly look into a Mac export but it will take some time. I'd like to get it up and running for you in the meantime, I don't have access to a Mac at the moment, does Parallels give you any control over DirectX or similar? I believe this issue is rooted to that but it's difficult to recreate. I've managed to create a Windows 10 22H2 VM, ran the app and it works

(2 edits)

Thank you, can you confirm that your drivers are up to date?

AMD graphics drivers | Nvidia graphics drivers

Can you please also let me know the specs of your system please including the GPU and OS

That's the right one :)

(2 edits)

Hi! Can you re-download this please using the normal link, I've just updated it.

Can you also ensure your graphics drivers are up to date

Please let me know how you get on, cheers!

Hi, hope you're well. I've added these changes for the upcoming version 2.1.1. Cheers!

Hi @floetenmaul!


Hope you're well - It's been a while! I was reviewing this conversation again yesterday, I know you mentioned about listening to Audiobooks from AJ Audio. I'm pleased to announce that this is coming in version 2.1.1.


There is a new designated "Podcasts" page on your Library where you can find all Audiobooks from your Jellyfin server. You can pin & favourite these just like you can with all other media type. You can also add Podcasts to a new folder (with the new content type "Podcasts", or "Various").


You can choose between a list view or the standard album-like tiles view


Hope this is OK! Let me know if you have any other feature requests

(5 edits)

Using the Equaliser

This is a tool used to adjust the volume of specific frequency ranges of the playing audio (bass, mids, treble, etc.) AJ Audio features a 10 band EQ. You can adjust the sliders for each frequency, to a maximum peak of -/+20dB


Editing the EQ

You can edit the EQ in the Settings page. Here's what it looks like:



Presets

The following presets are available:

  1. Bass boosted
  2. Classical
  3. Dance
  4. Electronic
  5. Hip-Hop
  6. Pop
  7. R&B
  8. Rock
  9. Treble boosted


The EQ is available for AJ Audio v2.1.1 onward.

(3 edits)

The audio engine which powers AJ Audio has changed

From version 2.1.1, this app now uses libVLC as the core audio engine. As we know, VLC is the Swiss army knife of media players. Upgrading to this engine allows AJ Audio to support almost all music formats. Previously, this app was powered by FMOD, which was limited to 5 common formats but lacked support for Apple Codecs.


New formats

  • MP3
  • AAC
  • FLAC
  • WMA
  • ALAC
  • AIFF
  • OGG
  • M4A
  • OPUS
  • M3U
  • M3U8
  • MPD


What else is different?

Loading tracks has increased up to 80%. This applies to local files, Jellyfin media, and Internet Radio streams (even the newly supported .m3u8)

  • Previously, streaming unsupported media from your Jellyfin server would transcode the file to an acceptable format. This is no longer required, and the file is streamed natively without modification


Playing Internet Radio

Previously, if you played a radio station, the app would freeze for a second or so while the connection was established. This is no longer the case - radio streams are now loaded the same way that normal media is



Changes to settings

The "Direct Streaming" and "Download & Play" options have been removed from the settings page as these are no longer required. These settings previously added compatibility for unsupported formats.


There is a new setting under the Playback section in the settings, titled "Audio API" where you have 2 APIs to choose from:

  • Windows Multimedia Device (mmdevice)
  • DirectSound (directsound)

The Windows Multimedia Device is the default, modern API for Windows 10 and Windows 11. However, this API currently does not allow cross-fading. 

The DirectSound is a legacy API which enables crossfading. However, changing output device is not available with this setting. This should not affect most users, as you can simply change your default output device on Windows which will accommodate this. If you want cross-fading, you should use this API instead.



Importing .m3u playlists, or .m3u8 (hls) streams

You can click Create > Add file to library. The file selection window will now allow these file types



Reading/writing album art & ID3 tags for .m4a, .aac, etc.

AJ Audio has been updated to accommodate the new supported file types. You can write ID3 tags, new album art, etc. just like you can for the traditionally supported formats

Additional changes in version 2.1.1

Hello again,


I have added an option to set the proxy URL which will directly affect how songs are loaded from your Jellyfin server, you can find this under the new "Proxy" header:



There is also an option which changes the streaming endpoint which may help resolve this issue



I would like you to test this whenever convenient if possible please. I'm happy to send over an updated build to you via Email or Discord (@alexcjw), alternatively this addition will be available in the upcoming version 2.1 which will be released very soon


Thanks!

Alex

Hi mate!


Thank you, I'm looking into this for you now, I'll have a solution hopefully by tomorrow.


Out of curiosity, when using Direct Streaming, is there a certain amount of time that elapses before it gives up or does the app instantly not play it? 

(1 edit)

Shortcuts allow you to search for a track in your Jellyfin library using your Start Menu.


Enabling shortcuts

  • Go to Options > Settings > Toggle "Use shortcuts" on


How does this work?

When you enable this, an small .ajAud file will be created for each track on your local computer

  • These files can be located at C:\Users\%USERNAME%\AJ Audio

You do not have to manually index this location on your PC. Windows should do this for you.

Within this file is one line of text representing the song ID from Jellyfin. This is the only information this app needs to get your song located and started. This means each file is around ~33 bytes. 


Opening these files

When you enable shortcuts, AJ Audio will automatically associated .ajAud files with the app for you. 

  • If you need to associate this file type manually, then you should associate .ajAud files with the ajAudioHelper.exe executable, not the player.exe.


Disabling shortcuts

If you turn these off, all of these shortcuts will be deleted from your computer, including the AJ Audio folder in your user folder.


Notes

Shortcuts are only applicable for media server users. They will not be created for local files you are playing from your PC.

(1 edit)

Using the Metadata Editor

This is a handy tool which can be used to edit the data for songs and albums, for both your Jellyfin items and local tracks.


Editing a song

Here's what the metadata editor looks like when editing the song "Ready or Not" by the Fugees (song):

For Jellyfin tracks:

  • The artist/album cannot be changed from the track. You can edit the album name by opening the metadata editor for that album

For local tracks:

  • Changing the artist or album is permitted. When you do, the song will be placed in its new album under its new artist (if applicable)



Editing an album

Here's what the metadata editor looks like when editing the album "3 Words" by Cheryl Cole:

For Jellyfin tracks:

  • Changes you make to the genres will apply to the album only, and will not affect the songs within. If you change the album title, then this will apply to all songs within.

For local tracks:

  • Changes you make to the genres will apply to all songs within the album. As you can see by the screenshot (this album is on the local computer), there is a banner at the top which informs you of this. If you change the title, then all songs within this album will be updated

When using auto-fill, the genre data retrieved for albums will consist of combined genres of every track from the official album


Using Auto-fill

When you click the auto-fill button, AJ Audio will pull the album information from external resources. It will then collect and apply all missing or incorrect metadata for you. The app will determine the main track you are editing from this album by matching the title. Sometimes, this is not always possible, and if so you will be given a list of all songs in the official album to choose from:



Once you select a track, the metadata will be fetched and applied as normal


Reviewing the changes

Once the auto-fill is successful, you will be given a list of changes which will be made once you click "Confirm"


You can also click cancel, which will discard the fetched data, just like the padlock button does.


Notes

Genres fetched via external resources can be consolidated to only include main genres. This is an option you can find under the "Misc" section in the settings page (off by default). When this is on, certain genres will be omitted in favour of the closest match. (For example, "britpop" would be "pop"). These "main genres" are identical to those you can select when creating a custom radio stream.

For local files, editing the metadata will directly write the changes to the ID3 tags of the file