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.
Topic: foo_sid (Read 97271 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_sid

Reply #50
hi
is there any chance for stereo ?
and if not why its so hard to do

foo_sid

Reply #51
It already does stereo for MUS/STR file pairs. It is impossible to detect if a SID file will be stereo without actually running it first.

foo_sid

Reply #52
Hi! Do you plan to incorporate reSIDfp and/or filterpatches that can be heard in sidplay2.5?
They sound somewhat different (often better) to the reSID inside foo_sid. reSIDfp should probably optional then, it's pretty slow.

foo_sid

Reply #53
I have switched over to sidplay-residfp, and you're right, it is slower. Although not slow enough to really warrant a troublesome dual-emulator plug-in. (I don't think the version of libsidplay in this library will work with the regular version of ReSID, considering the interface differences.)

Incidentally, I tried switching to this emulator the last time it was posted to this topic, and failed. The one thing I left out of my implementation was calling the ReSID filter() function with a null sid_filter_t pointer to reset the filter to the default parameters. Otherwise, the filter runs like crazy and slows the whole process down to a crawl.

I also modified the ReSID convolve() function to use SSE when it's detected using CPUID, rather than when it's compiled in. Although I don't expect anyone without SSE will enjoy the alternative anyway.

(A few SID files I tested turn out to render at about 11x realtime on my Core 2 Duo E8500. Compared to the 60x of the mainline sidplay2/ReSID.)

foo_sid

Reply #54
Thanks so much for switching to residfp - I just tried it and it sounds fantastic!

foo_sid

Reply #55
Hi Kode,
Again, excellent work on the plugin, agreeing with the last poster that ReSidFP is a welcome addition. I also have sidplay/w 2.5 and while it runs, it's painfully slow here on this 2006, toshiba laptop. Certainly gives you a noticeable lag. Any chance you could implement manual, control of sid chip type, and/or filter type? sidplay 2.5 has a bunch of different 6581 filter curves.

thanks,
Arthur.

foo_sid

Reply #56
Where is this sidplay 2.5? All I can find is some Mac based player which is based on even older versions of libsidplay and resid than I was using before residfp.

I see a directory called fc-curves bundled with sidplay-residfp, but I don't see any way to use those curves with the library.

foo_sid

Reply #57
Hi, I know this won't help you much in terms of implementing things, but, here's the sidplay 2.5 I mentioned. http://noname.c64.org/csdb/release/download.php?id=95771
And, I had to just cringe internally when I found out the authors now maintaining the new residfp in, <gasp> java? java! Anyway, I'm done.


foo_sid

Reply #58
And, I had to just cringe internally when I found out the authors now maintaining the new residfp in, <gasp> java? java! Anyway, I'm done.

Actually, he appears to be maintaining both projects simultaneously. All of the C++ library is maintained in the SourceForge repository for sidplay-residfp, while I haven't checked where the java library is kept. The news log on the SourceForge page shows the last change was committed 44 days ago.

foo_sid

Reply #59
hello kode54,
is there a chance to make your plugin as portable as foobar is?
so the used database isnt stored as x:\portable\foobar2000\user-components\foo_sid\Songlengths.txt (which will not work if driveletter changes)
but in <plugin_dir>\Songlengths.txt  (or something ...)
cheers and thanks for the plugin! gives me good music

foo_sid

Reply #60
I'll add checking so that if you set the song lengths database relative to the component folder, it will store it as such.

foo_sid

Reply #61
foo_sid seems to disregard all settings in portable mode (at least it worked fine last time I installed it in multi user mode)
songlength is loaded but not applied.
default songlengths are also ignored.

foo_sid

Reply #62
songlength is loaded but not applied. default songlengths are also ignored.
oh yes. this, i can confirm. also if the path is correct. forgot to mention that in my request.

foo_sid

Reply #63
I've implemented relative path support, currently it will store tokens for component path, profile path, and player path, in that order. You will need to reconfigure it to tokenize the current path location.

foo_sid

Reply #64
wow,
that was fast :-)

i put
STIL.txt
and
Songlengths.txt

into the foobar2000\user-components\foo_sid\ folder,

browsed to that folder and chosed Songlengths.txt.

inside foobar2000 your plugin showed:

<component path>\Songlengths.txt

and said: "Status: 39626 entries loaded."

so far, so good.


after quiting foobar and copying it to my NAS (UNC path \\server\foobar\...), a subst'ed driveletter (S:\ from D:\foobar...) and a local drive (C:\foobar...):

your plugin did not load the file, if foobar was started from a local drive.

your plugin did not load the file, if foobar was started from a subst'ed drive.

your plugin did not load the file, if foobar was started from a UNC path.

so, in all cases, the file wasnt loaded, as before.

when i browsed manually to the file again, your plugin said:
"C:\foobar2000\user-components\foo_sid\Songlengths.txt"
"Status: 39626 entries loaded."

is there anything, what i'm doing wrong?

foo_sid

Reply #65
Are you sure both installations are using the same component? The path is stored with the exact token you see in the dialog, and if it isn't tokenizing the path you specify, then it doesn't match the current configuration.

foo_sid

Reply #66
Are you sure both installations are using the same component? The path is stored with the exact token you see in the dialog, and if it isn't tokenizing the path you specify, then it doesn't match the current configuration.


both installations? i only have one. i just copied this installation (with the 1.20 version of you fine extension) to different paths/drives.
now, after i did some other things (restartet foobar some times, listen to music and played around...), i took a look at the config of your program and i see:

Path: <component path>\Songlengths.txt

Status: not loaded.

The files Songlenght.txt is still in that folder as before.

is there anything, i can provide you with to give you more info?


foo_sid

Reply #67
I updated it to fix the relative path support for the profile folder, but I also uploaded a build with debug notices here. It will dump the base paths it uses to the console, as well as the final path it attempts to open the database from, to the console. Trigger a database load attempt by playing a SID file to see it in action. It will reveal what's going wrong between your two installations.

foo_sid

Reply #68
great, thanks. i downloaded and installed the version with the log.

btw: question:
if realize, that i update via the "get updates" button in foobar, my files (songlenght, stil, etc...) inside your plugin folder foo_sid are deleted. i not 100% sure, but i remember, that, while installing ohter plugins, no files (i.e. extended config files or notes.txt i created) were deleted.



after foobar restarted, i browsed to the songlenghts.txt file.
you plugin showed:
Path: <component path>\Songlengths.txt
Status: not loaded.

the console says:
Code: [Select]
[12:01:46] Player path: E:\tc\portable\foobar2000
[12:01:46] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:46] Profile path: E:\tc\portable\foobar2000
[12:01:46] Player path: E:\tc\portable\foobar2000
[12:01:46] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:46] Profile path: E:\tc\portable\foobar2000
[12:01:46] Player path: E:\tc\portable\foobar2000
[12:01:46] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:46] Profile path: E:\tc\portable\foobar2000
[12:01:46] Player path: E:\tc\portable\foobar2000
[12:01:46] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:46] Profile path: E:\tc\portable\foobar2000
[12:01:48] Player path: E:\tc\portable\foobar2000
[12:01:48] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:48] Profile path: E:\tc\portable\foobar2000
[12:01:48] Player path: E:\tc\portable\foobar2000
[12:01:48] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:48] Profile path: E:\tc\portable\foobar2000
[12:01:48] Player path: E:\tc\portable\foobar2000
[12:01:48] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:01:48] Profile path: E:\tc\portable\foobar2000
[12:02:05] Player path: E:\tc\portable\foobar2000
[12:02:05] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:05] Profile path: E:\tc\portable\foobar2000
[12:02:15] Player path: E:\tc\portable\foobar2000
[12:02:15] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:15] Profile path: E:\tc\portable\foobar2000
[12:02:15] Player path: E:\tc\portable\foobar2000
[12:02:15] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:15] Profile path: E:\tc\portable\foobar2000
[12:02:15] Player path: E:\tc\portable\foobar2000
[12:02:15] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:15] Profile path: E:\tc\portable\foobar2000
[12:02:15] Player path: E:\tc\portable\foobar2000
[12:02:15] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:15] Profile path: E:\tc\portable\foobar2000
[12:02:24] Player path: E:\tc\portable\foobar2000
[12:02:24] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:24] Profile path: E:\tc\portable\foobar2000
[12:02:24] Player path: E:\tc\portable\foobar2000
[12:02:24] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:24] Profile path: E:\tc\portable\foobar2000
[12:02:24] Player path: E:\tc\portable\foobar2000
[12:02:24] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:02:24] Profile path: E:\tc\portable\foobar2000


then i restarted foobar.
your plugin then showed:
Path: <component path>\Songlengths.txt
Status: not loaded.

i then played a SID
and the your plugin showed:
Path: <component path>\Songlengths.txt
Status: 39626 entries loaded.

the log said:
Code: [Select]
[12:08:49] Player path: E:\tc\portable\foobar2000
[12:08:49] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:08:49] Profile path: E:\tc\portable\foobar2000
[12:08:50] Player path: E:\tc\portable\foobar2000
[12:08:50] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:08:50] Profile path: E:\tc\portable\foobar2000
[12:08:50] Player path: E:\tc\portable\foobar2000
[12:08:50] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:08:50] Profile path: E:\tc\portable\foobar2000
[12:08:50] Player path: E:\tc\portable\foobar2000
[12:08:50] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:08:50] Profile path: E:\tc\portable\foobar2000
[12:08:50] Player path: E:\tc\portable\foobar2000
[12:08:50] Component path: E:\tc\portable\foobar2000\user-components\foo_sid
[12:08:50] Profile path: E:\tc\portable\foobar2000
[12:08:56] foo_upnp: loaded Media Library tree in 59.532s


so i guess, the problem was, that i assumed, your plugin would load the files *before* playing a sid.

everything, i described in my last post, works now.

thank you very much and sorry for the bothering.

EDIT: another question: will you "debug" version automaticly update if a newer version is available, or do i have to install the "official" version?

foo_sid

Reply #69
could it be possible to have the field COPYRIGHT shown in the DATE field? (something like a redirection of meta fields)

i'd like to see the date of a playing sid and if it has a field like "COPYRIGHT = 1993 Lamex"
it would be cool to redirect this info (maybe with some regEx...) to another field, like DATE.


@fuffi: Wouldnt it be possible to play around with the string-manipulation-functions listed in the document above to get your date-field?

Quite a long time passed, but i finally made it :-)

in ColumnUI, i set up the Comment-column with this display-script:
Code: [Select]
$if($stricmp($ext(%filename_ext%),SID),$if([%COPYRIGHT%],$trim($substr([%COPYRIGHT%],5,$len([%COPYRIGHT%]))),---),[%COMMENT%])
and
this data-script:
Code: [Select]
$if($stricmp($ext(%filename_ext%),SID),$if([%COPYRIGHT%],$cut([%COPYRIGHT%],4),----),[%DATE%])

which both will now, if the file has an extension "SID", split the %COPYRIGHT% field into the DATE part and a COMMENT part.



this looks ok to me :-) and i ignore such special cases like "1970-71" ...

foo_sid

Reply #70
Fixed and uploaded in the usual place. Debug version is in the same place as I linked above. You should be seeing "Attempting to use song length database: <path>" when you attempt to play SID files.

foo_sid

Reply #71
Fixed and uploaded in the usual place. Debug version is in the same place as I linked above. You should be seeing "Attempting to use song length database: <path>" when you attempt to play SID files.

question:
if realize, that i update via the "get updates" button in foobar, my files (songlenght, stil, etc...) inside your plugin folder foo_sid are deleted. i not 100% sure, but i remember, that, while installing ohter plugins, no files (i.e. extended config files or notes.txt i created) were deleted.
is this from your plugin or from foobar?

foo_sid

Reply #72
This is from foobar2000 itself. If you want to keep your song lengths database across updates, store it in a folder inside the profile or application folder, not the component folder. (I shouldn't have made an escape for the component folder, since updating will delete it anyway.)

foo_sid

Reply #73
Fixed and uploaded in the usual place. Debug version is in the same place as I linked above. You should be seeing "Attempting to use song length database: <path>" when you attempt to play SID files.

thank you. great.

just a little thing:
some (sadly not all) plugins identify themselfs to the user with <pluginname>: in the console. so the user knows from which plugin a message came from.

Quote
[12:03:03] iPod manager: Listening for Apple mobile devices.
[12:03:03] Player path: U:\foobar2000
[12:03:03] Component path: U:\foobar2000\user-components\foo_sid
[12:03:03] Profile path: U:\foobar2000
[12:03:03] Attempting to use song length database: U:\foobar2000\user-configuration\foo_sid_data\Songlengths.txt
[12:03:05] Audioscrobbler: Track is not in Media Library - not submitting to Audioscrobbler.
[12:03:06] foo_upnp: created 301755 path registry entries in 38.875s
[12:03:11] Player path: U:\foobar2000
[12:03:11] Component path: U:\user-components\foo_sid

if you could add that info too, that would be great, because, i'm old and in 5 weeks i completely have forgotten about this thread and the messages, but i'm looking into that console every time i use foobar :-)

foo_sid

Reply #74
The debugging information is only there to help you figure out why this isn't working between your different systems. It's not there for regular use. Once you find the problem, you should replace the installation with the version from the official components repository, which has no such debugging notices.