Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Recent Posts
91
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by Azuriye -
So I've created a really rough Batch and Query SQL queries with basic understanding but could you review it?

Code: [Select]
Batch:
DROP TABLE IF EXISTS tmpRandomLRP;

CREATE TEMPORARY TABLE tmpRandomLRP AS
SELECT DISTINCT
    path,
    subsong,
    [%jsp3_loved%],
    COALESCE(NULLIF([%jsp3_last_played%], ''), '1970-01-01 00:00:00') AS [%jsp3_last_played%]
FROM (
    SELECT
        first_value(path) OVER w_album path,
        first_value(subsong) OVER w_album subsong,
        [%jsp3_loved%],
        COALESCE(NULLIF([%jsp3_last_played%], ''), '1970-01-01 00:00:00') AS [%jsp3_last_played%]
    FROM MediaLibrary
    WINDOW w_album AS (PARTITION BY album ORDER BY random())
) AS subquery
ORDER BY random();

Code: [Select]
Query:
WITH CTE AS(
 SELECT path, subsong, [%jsp3_loved%], COALESCE(NULLIF([%jsp3_last_played%], ''), '1970-01-01 00:00:00') AS [%jsp3_last_played%]
 FROM tmpRandomLRP
)
SELECT path,
       subsong
FROM CTE
WHERE ([%jsp3_loved%]) AND ([%jsp3_last_played%] < datetime('now', '-300 minutes'))
ORDER BY [%jsp3_last_played%]
LIMIT 2

Grouping is still set to %album%, should I switch it back to %all% or not touch it for now?
92
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by fbuser -
Ah, guess it's not worth the trouble...?
Maybe not. Another problem is, that your SQL reduces the set of tracks already to only two tracks: The two least recently played tracks. From these two tracks you try got get one randomly. Is this really what you want? How many tracks do you actually want to get?

I'm not sure how feasible it is as I'm still a beginner with SQL queries...
It could need several hours to get the wanted result. You should first define exactly the result, that you want to get, without thinking how to implement it. Actually, it is not really clear for me what it is.

Temp tables in batch part just so that the results are randomised? and then in the query part apply my filter conditions?
No, the temp tables needs to be used to simplify the task (and maybe also for performance reasons). Although I have no concrete idea to solve the problem, you will probably end up in deeply nested subselects, if you don't use temp tables.

I have some tracks which have the same title but from different albums, to rule out this confusion would it be better to have the Group as %path% - %subsong%
Probably not. This would get you always only one track independent from the number of tracks in the set of tracks defined with the SQL.
95
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by Azuriye -
Definitely not easily. It will become quite complex and probably you will need to create temporary tables in the batch part of the sql definition at least for performance reasons.
Ah, guess it's not worth the trouble...? I'm not sure how feasible it is as I'm still a beginner with SQL queries...

Temp tables in batch part just so that the results are randomised? and then in the query part apply my filter conditions?

No. Besides that you probably meant %title%, it would only rule out, that you get both tracks together from the set of tracks, which you defined with your SQL (as long as %title% for both tracks is different).

I have some tracks which have the same title but from different albums, to rule out this confusion would it be better to have the Group as %path% - %subsong%
96
Support - (fb2k) / Re: Wasapi exclusive pause problem
Last post by Air KEN -
> I recently purchased a Topping DX1 and noticed the following problem:
> When playing music through the built-in wasapi exclusive, all extraneous sounds (youtube, VK.com, etc.) are blocked, but if you pause the playback, the sounds begin to play, and unpause, the sounds are blocked again.

I think this is normal
My Audinst HUD-DX1:
Play as [exclusive] Audio from other applications cannot be used.
I can resume using the Pause button.

Windows 11
foobar2000 v1.6.17
foobar2000 v2.1 preview 2023-11-22 : 32-bit | 64-bit

Audinst HUD-DX1 Driver
4.67.0.37847 (2019-06-14)
http://www.audinst.com/en/drivers/5391?ckattempt=1



WASAPI output support is not required after foobar2000 v1.6.

foobar2000 change log
https://www.foobar2000.org/changelog

foobar2000 v1.6:
Default output mode is now WASAPI shared.

foobar2000 v1.6.7:
Built-in WASAPI exclusive output.
97
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by fbuser -
Sorry, I failed to understand exactly for the Second Case... just so that we are on the same page I've made two pools one as Least Recently Played and the other as Lowest Play Count, I've shared my settings for Least Recently Played and I wanted to know if it's possible to combine the query you suggested to prevent tracks from the same album playing...
Definitely not easily. It will become quite complex and probably you will need to create temporary tables in the batch part of the sql definition at least for performance reasons.

For the group should I change it to %track%? or what would be the best scenario here to set for the Group parameter?
No. Besides that you probably meant %title%, it would only rule out, that you get both tracks together from the set of tracks, which you defined with your SQL (as long as %title% for both tracks is different).

You mentioned not to use CTE as well, but I found out that if I don't include that in "SELECT path, subsong FROM" my COALESCE doesn't take place and replace the NULL values inside the database.
Ok, I didn't see the CTE completely, but you still don't need it by setting WHERE to
Code: [Select]
COALESCE(NULLIF([%jsp3_last_played%], ''), '1970-01-01 00:00:00') < datetime('now', '-300 minutes')
AND [%jsp3_loved%]
98
3rd Party Plugins - (fb2k) / Re: foo_vis_spectrum_analyzer
Last post by pqyt -
v0.4.0.0, 2023-11-26

* New: Most colors and the custom color scheme can be modified in the configuration dialog.
* Improved: Each instance of the component now has its own configuration. Note: The fullscreen version is a separate instance.
* Improved: Added spin buttons to most numeric controls.
* Changed: Mel scale mapping is now called Triangular Filter Bank scale mapping.

You can download it from the Components repository.

You'll notice that the configuration dialog is becoming quite large and complex. Please report any quirks or crashes.
99
Movie/Multichannel audio / Re: Room Correction Hardware/Software Issues, Options. Please Advise.
Last post by bennetng -
USB has no role in syncing two separate ADC and DAC, you at least need to chain them using SPDIF/AES3/ADAT for synchronization. Also, only ADAT is capable of multiple (eight) LPCM channels, SPDIF and AES3 only support stereo, and ADAT only supports up to 48kHz when using all 8 channels. Syncing can be achieved by setting one of the device as master and another one as slave, or via SRC if supported by the device's hardware. However such methods are rather cumbersome and more prone to drop out, so just get an all-in-one interface (ADC + DAC + mic preamp) like MOTU UltraLite MK5, RME Fireface UCX II or similar. Obviously, it depends on how much you are willing to pay and their reputation and stuff like user interface, driver support etc, I have no particular recommendation.

Intersample headroom in DAC is irrelevant because room correction will significantly change the peaks of any input waveform, should it be originally loudness war content or highly dynamic audiophile stuff. The audio interface driver often provide a control panel app to let you monitor the incoming, room corrected audio data and you will know if the incoming data is clipped or not. To avoid clipping, adjust the software playback level (e.g. headroom management, level of convolver, or other volume controls internal to the playback software before negotiating with the device driver), not any subsequent volume control like the one on the interface's mixer app, or physical knobs on the interface. It is like wearing protective suit before entering radioactive area, not after, order is important.
100
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by Azuriye -
Sorry, I failed to understand exactly for the Second Case... just so that we are on the same page I've made two pools one as Least Recently Played and the other as Lowest Play Count, I've shared my settings for Least Recently Played and I wanted to know if it's possible to combine the query you suggested to prevent tracks from the same album playing...

For the group should I change it to %track%? or what would be the best scenario here to set for the Group parameter?

I'll elaborate my Pool settings here as well

Code: [Select]
Name: Least Recently Played
Group: %album%
Determine probability for picking groups based on group size: Untick
Number of groups to add: 1
Number of tracks to add: 0
Number of minutes to add: 0
Number of MBs to add: 0
Limit after sorting: Untick
Sort: Empty
Sort / limit each group: Empty
Source / Filter
Type: SQL (requires foo_sqlite)
Query
WITH: CTE AS(
 SELECT path, subsong, [%jsp3_loved%], COALESCE(NULLIF([%jsp3_last_played%], ''), '1970-01-01 00:00:00') AS [%jsp3_last_played%]
 FROM MediaLibrary
)

SELECT path, subsong FROM: CTE

WHERE: [%jsp3_last_played%] < datetime('now', '-300 minutes')
AND [%jsp3_loved%]

ORDER BY: [%jsp3_last_played%]

LIMIT: 2

Filter with the content of the target playlist: Tick
Filter with the content of the target playlist using a title format expression: Empty
Priority: 1

You mentioned not to use CTE as well, but I found out that if I don't include that in "SELECT path, subsong FROM" my COALESCE doesn't take place and replace the NULL values inside the database.