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
1
3rd Party Plugins - (fb2k) / Re: JScript Panel script discussion/help
Last post by Defender -
To increase readability on a transparent background I display a "dropshadow".

The code I have to add per display is an extra line of code per display:
Code: [Select]
gr.WriteTextSimple(chars.pause, g_font_fluent_20, RGB(0,0,0),  ax + scale(1), ay + scale(1), ah, ah, 2, 2);	// ADDED
gr.WriteTextSimple(chars.pause, g_font_fluent_20, normal_text, ax,            ay,            ah, ah, 2, 2); // ORIGINAL
This works but is rather inefficient, since it has to be done for all displays.
How can I create a function that does both displays in one call?

I tried this:
Code: [Select]
_WTS(chars.pause, g_font_fluent_20, normal_text,	ax, ay, ah, ah, 2, 2);

function _WTS(txt, font, col, x, y, w, h, txt_align, par_align) {
   gr.WriteTextSimple(txt, font, RGB(0,0,0), x+scale(1), y+scale(1), w, h, txt_align, par_align);
   gr.WriteTextSimple(txt, font, col,        x,          y,          w, h, txt_align, par_align);
}
This and some variants I tried do not work.

How to create a function from where you can do graphical stuff?
2
3rd Party Plugins - (fb2k) / Re: Spider Monkey Panel (foo_spider_monkey_panel)
Last post by Gabriel Schwartz -
I am not understanding this parallel conversation. JSplitter has been actively developed the last 2 years, and some releases work perfectly fine on specific systems. It supports the same scripts than SMP. In particular the win 7 branch should work fine for most people since it avoids some problems found with latest engine updates.

SMP is also perfectly fine on x86 foobar except some specific use-cases. And anyway at the reply above you have a current version being developed with bugs being fixed; if you have something in mind, try reporting it.

I agree TheQwertiest left the original component to die though, it was warned multiple times that a working repository and a x64 version was much more needed than a total rewrite. And was pretty clear he would have no time to do the total rewrite. But that's life and fortunately marc managed to share a working branch which can be compiled.

Now if we get a x64 version of SMP, that would be amazing. Not that there is anything wrong with JSplitter, but it introduces engine changes and is also a bit more complex for new people.

I was referring to original SMP as it looks dead and no 64-bit version in the near future.
JScript Panel 3 was officially killed and removed from GitHub.
JSplitter is a different component and I am not sure I want to invest into migrating all my UI customizations to it.
Maybe one day I'll have some time and jump to 64-bit with JSplitter but for now I am sticking with the 32-bit version as long as it works.
4
3rd Party Plugins - (fb2k) / Re: Spider Monkey Panel (foo_spider_monkey_panel)
Last post by regor -
Regrading Spider Monkey Panel, there has not been any activity on GitHub for a long, long, long time as some bugs were pushed but not merged into a new version so I guess it was just dumped or left to die.
I am not understanding this parallel conversation. JSplitter has been actively developed the last 2 years, and some releases work perfectly fine on specific systems. It supports the same scripts than SMP. In particular the win 7 branch should work fine for most people since it avoids some problems found with latest engine updates.

SMP is also perfectly fine on x86 foobar except some specific use-cases. And anyway at the reply above you have a current version being developed with bugs being fixed; if you have something in mind, try reporting it.

I agree TheQwertiest left the original component to die though, it was warned multiple times that a working repository and a x64 version was much more needed than a total rewrite. And was pretty clear he would have no time to do the total rewrite. But that's life and fortunately marc managed to share a working branch which can be compiled.

Now if we get a x64 version of SMP, that would be amazing. Not that there is anything wrong with JSplitter, but it introduces engine changes and is also a bit more complex for new people.
5
3rd Party Plugins - (fb2k) / Re: foo_truepeak True Peak Scanner
Last post by regor -
Well I don't agree with that POV, although I respect it.

You can recommend/push arbitrary standards as default value for tags, but I see no reason to not allow their configuration since everyone's needs are different in the end. If there were no tags available to be remapped, I could even understand the "opposition" to do them all; but it's not the case, all of them but one can be set.
6
General Audio / Dante Virtual Soundcard and C# NAudio / ManagedBass Libraries Help !
Last post by pgokcen -
I started a .NET Core WPF project to develop a multi-zone player system for businesses such as hotels that have multiple areas/zones. To handle a large number of audio drivers and channels, I started working with Dante Virtual Soundcard (DVS), which provides two types of services: WDM mode and ASIO mode.

I've made some progress on my application. In my network, I have a switch and two Dante audio devices. One is located in my kitchen, connected to two speakers, and the other is in my room, also connected to two speakers. Using Dante Controller, I assigned the output channels of these devices: one is fixed to channels 3-4 and the other to 5-6.

In my WPF application, when the main screen loads, I programmatically read the available audio drivers. When I go to the player creation screen, I select which audio driver and which channel the player will use. For example, my kitchen player will use Dante Virtual Soundcard in ASIO mode and output through channels 3-4 (tx3-tx4), while the player in my room will use channels 5-6 (tx5-tx6).

I have used both NAudio and ManagedBass libraries for this software. However, I am experiencing the following issue: if DVS is running in ASIO mode, you can only call asio.init() once—only a single initialization is allowed. So, when I try to start one player, the playlist starts playing, but when I try to start another at the same time, I get a "Dante Virtual Soundcard already in use" error. In a different approach, whenever I start a player, I hear the same sound from all channels simultaneously.

After a lot of research, including consulting AI, I was advised to use the ManagedBass library, since Dante Virtual Soundcard allows only one instance per application when using NAudio, but with ManagedBass this problem might be solved. However, when I tried this, the sound was very distorted, noisy, and played in slow motion—I couldn’t get it to work properly.

I’m really stuck at this point. If anyone has experience with a similar setup, or with NAudio, ManagedBass, and DVS, I’d really appreciate any guidance. I’ve been struggling with this for a week now and my employer is starting to get frustrated. Your feedback is very important to me—thank you in advance.
8
3rd Party Plugins - (fb2k) / Re: Spider Monkey Panel (foo_spider_monkey_panel)
Last post by Gabriel Schwartz -

Also dumped a few months ago so it is no longer supported.
Beside that Spider Monkey Panel has some capabilities that JSplitter does not (e.g. Library Tree and Biography)
How do you know it's no longer being supported?  The developer may just be on a longer schedule than we'd like.

JSplitter is running WiLB Biography just fine on my 64-bit Foobar v2.24.5.

Very nice that you managed to run WiLB Biography with JSplitter.
Regrading Spider Monkey Panel, there has not been any activity on GitHub for a long, long, long time as some bugs were pushed but not merged into a new version so I guess it was just dumped or left to die.
9
foobar2000 mobile / My phone's notification sound keeps going off and I want it to stop
Last post by swtwentyman -
First, two suggestions:

1. I suggested displaying the length of a playlist on the playlists page and it was implemented only to be rescinded. For the life of me I can't figure out why: it was a very useful feature with no downside.

2. Consider making a progress bar in the pull-down-from-top menu so you can see at a glance how far along you are in a track. This may run into the reality of Android tray behavior.

That said:

My phone's notification sound (like when you get a text) every time foobar2000 is opened or switched to and at the beginning of every track as well as the end of the album. I'm good with computers but I know nothing about Android. If this isn't foobar doing this, how do you disable it?

Thanks.
10
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by LUR -
On script loading when foobar starts, sometimes it displays graphics, e.g the playlist,
but most of the time is just a blank background with rendered shadows ( gradients ) and nothing more.
The problem there is more serious than rendering. It's all about loading scripts, of which you have many and scripts are not loaded completely, as a result you may see random errors due to lack of necessary JS objects. This behaviour is a consequence of my attempt to fix the bug with periodic crash of the main script execution, you noticed:
it sometimes crashes; i.e every 10-15 cold foobar startups, it depends of course.
Once it is cached in memory, window reloading all the time seems fine...
[BUG] Corrected script loading and fixed stack trace output
I confess, the attempt was unsuccessful and it got even worse as I see. So I'm reverting it back to the way it was, now everything should load, but periodically there will be this bug with the main script crashing. Error has no JS stack, just the engine function returns false. I'll look into it further. I find it very difficult sometimes to even just catch this bug, because for example recently I managed to run the player 50(!) times and never crashed the script.