Skip to main content

Topic: foo_onewaysync (Read 29777 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #175
Trying a different browser was a good idea, unfortunately without success. So far I tried with firefox and a fresh install of chrome, both with and without https. With https and chrome I get a ERR_SSL_BAD_RECORD_MAC_ALERT error after attempting the upload, and the file on the server seems to be unchanged. With https and firefox there is a similar error after upload (secure connection was set back), also no file change.
Don't believe that firewall or antivirus are an issue, because I observe similar behaviour with my mobile, which is not running any firewall or antivirus.
  • Last Edit: 07 March, 2017, 05:20:11 PM by zimjo

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: foo_onewaysync
Reply #176
Okay, I tried uploading the forum copy myself, and it errors out randomly, ranging from roughly one thousand bit flips, to taking a full 90 seconds and timing out, to uploading successfully in about 10 seconds.

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #177
Good to know it's not a problem on my end. And thanks for uploading a working archive.

  • Safranente
  • [*]
Re: foo_onewaysync
Reply #178
@Safranente: Your problem should be fixed with a new version. I have it ready for release, but right now the upload to the components page is not working...

works well now, thank you!

  • jmaeshawn
  • [*]
Re: foo_onewaysync
Reply #179
I don't know if this is a bug with onewaysync, or just me making a mistake, but for some reason onewaysync doesn't want to work with qaac.

I've tested using qaac in foobar, and it converts my FLAC files to m4a just fine:

and qaac also works directly from the command line with this: H:\Install Files\qaac>qaac "C:\song.flac" -V 63 -o "C:\song.m4a"

Since onewaysync passes the encoder a raw PCM16 file and requires the %sr$ variable, I had to adapt the above (basic) command line command to this:
"H:\Install Files\qaac\qaac.exe" %in% --raw --raw-rate %sr% -V 63 --ignorelength -o %out%

When I then run the onewaysync some FLACs to test, it appears to have completed successfully...
"Exported files and playlists succesfully.

1 playlists exported.
1 files converted.
0 files updated."

However, behind that window are two other windows:
Could not load info (Object not found) from:
"C:\Users\jmaeshawn\AppData\Local\Temp\OWS4622.tmp.m4a"

and the second window:
Could not update tags (Object not found) on:
"C:\Users\jmaeshawn\AppData\Local\Temp\OWS4622.tmp.m4a"

The output folder on my phone contains nothing but a file called ".ows_Pixel.sqlite"

I've spent hours trying to figure this problem out . I should also mention that onewaysync converts just fine when using the built-in lame setting and that I'm not the only one having problems with qaac. I googled it, and it came up with a Japanese topic about using onewaysync with foobar. Since I'm bilingual, I read it and took note of the line"ちなみにこれってlame以外のエンコーダーを指定する事は可能ですか?qaacで試してみたらなんかエラー出ちゃいます。"
(Which translates to "By the way, is it possible to set it up with encoders other than lame? When I tried it out with qaac, it brings up some kind of error.")

Could someone explain why the conversion to aac completely fails only when being run through onewaysync, and how to fix the issue?

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #180
Quote
"H:\Install Files\qaac\qaac.exe" %in% --raw --raw-rate %sr% -V 63 --ignorelength -o %out%
You are using arguments that exclude each other: --ignorelength cannot be used with --raw.

  • jmaeshawn
  • [*]
Re: foo_onewaysync
Reply #181
Thank you for the suggestion, zimjo. This time, I tried eliminating --raw and making the command line:
"H:\Install Files\qaac\qaac.exe" %in% --rate %sr% -V 63 --ignorelength -o %out% -
but this failed again with the same errors I had in my last post.

Doing some more research, I brought up the console window and looked at what foobar itself was passing to qaac as parameters during a successful version from FLAC:
 Command line: "C:\Program Files (x86)\Audio\foobar2000\encoders\qaac.exe" --ignorelength -s --no-optimize -V 64 -o "01 - Song.m4a" -
Working folder: C:\convertTest\
Encoder process still running, waiting...
Encoder process terminated cleanly.
Track converted successfully.
Total encoding time: 0:04.547, 48.90x realtime

Since that worked fine, I copied the parameters into onewaysync exactly, only replacing the "01 - Song.m4a"
 "C:\Program Files (x86)\Audio\foobar2000\encoders\qaac.exe" --ignorelength -s --no-optimize -V 64 -o %out% -
but it still gave the same exact errors as before.

Since I read that out of aac encoders, qaac provides the best quality at the smallest file size compared to other aac encoders, I'd really like to get it working with onewaysync. Do you have any other suggestions, or are onewaysync and qaac just not inter-compatible?

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #182
You got rid of the wrong one. Try
Code: [Select]
"H:\Install Files\qaac\qaac.exe" %in% --raw --raw-rate %sr% -V 63 -o %out%
As stated in the encoder settings dialog, onewaysync uses the raw format.

  • jmaeshawn
  • [*]
Re: foo_onewaysync
Reply #183
*facepalms*
Thank you so much for helping, zimjo. That worked perfectly!

 Here I was thinking that the reason it said onewaysync uses raw format in the settings dialog is because foobar itself used that format, which led to me removing the wrong thing and copying the settings from the main encoder.

Regardless of how long it took to get here, it finally converted correctly, so I really appreciate the help. Now to figure out how to have it auto attach the cover image as a tag to the resulting m4a file without bringing up a file selection window for every single album in the playlist one by one... Hopefully that doesn't take as long to figure out.

Thanks again!

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #184
You're welcome!  :)
Onewaysync will automatically transfer tags from the source to the resulting m4a, so that album art is only embedded in the m4a if it was already present in the source file. The other method is to use folder based album art, e.g. folder.jpg. But automatically embedding art that was not present in the source file is not possible with onewaysync. Only possible method would be to specify a context command ('Process destination files with' ...) that does what you want. However, this won't work if the destination is on a MTP device, because such files can not be modified directly.

  • hxrmn
  • [*]
Re: foo_onewaysync
Reply #185
Would it be possible to have a setting per task on whether to create a playlist file for that task?

siiiiiiiiick component anyways tho

  • jmaeshawn
  • [*]
Re: foo_onewaysync
Reply #186
You're welcome!  :)
Onewaysync will automatically transfer tags from the source to the resulting m4a, so that album art is only embedded in the m4a if it was already present in the source file. The other method is to use folder based album art, e.g. folder.jpg.
Thank you for the explanation of how onewaysync's tagging system works. However, while I have been testing it out with converting my flac and mp3 files to my Google Pixel (an MTP device),  it appears to copy the text tags from the source file to the main, but the converted file does not have the album art that was attached to the source. I have over 900 songs all with embedded artwork (and no external artwork in the folders to try the folder method you suggested) , and therefore I would really like to have all the images automatically tagged on the resulting m4a files as well.

Is there a switch or setting I need to turn on in onewaysync to get it to copy album art over to the tags, or is it supposed to be automatic? I do have the "copy cover art" setting under devices checked, though that doesn't seem to be doing anything...

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #187
Never really used embedded artwork in lossless files, so I never came across this, but you're right, it currently does not get copied. I will adress this with the next release.

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #188
Would it be possible to have a setting per task on whether to create a playlist file for that task?

A single playlist file for all the playlists in the task? Or do you just want creating playlists turned off for that task?

Re: foo_onewaysync
Reply #189
Hello there,

I have similar problems like jmaeshawn :( . I use an fraunhofer aac encoder fdkaac.exe. I read several pages also http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC.

Now I have in the settings:
Quote
"C:\Program Files (x86)\foobar2000\Encoder\FraunhoferAAC\fdkaac.exe" %in%  --profile 2 --bitrate-mode 4 -s %sr% %out%

I get the following error message:
Quote
One way sync failed: Error: Could not copy file to WPD device, problem reading the source file. Filename: C:\Users\Ina\AppData\Local\Temp\OWS3A3B.tmp.m4a

I assume I did something wrong with the command line. So I would be happy to get a hint :) .

Re: foo_onewaysync
Reply #190
Sorry, I couldn't find a sort of edit button.

Okay, last time I wanted to create a command line and read this message board I was very tired. So now I realized what zimjo was posting. Onewaysync uses a raw input.

Now I used the posted command line and adapt it to the fraunhofer encoder.

My setting now is:
Code: [Select]
"C:\Program Files (x86)\foobar2000\Encoder\FraunhoferAAC\fdkaac.exe" %in% --raw --raw-rate %sr% -p 2 -m 5 -o %out%

I will try and change some settings.

@zimjo: Thanks again for your plugin. Since I often listen to music on my smartphone this makes it a lot easier to get new music on my phone.

I have some kind of request:

Could it be possible to make the Edit Encoder window wider. I now often take the code and put it into a text editor programm than change the code and copy it to the window.


  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #191
Could it be possible to make the Edit Encoder window wider. I now often take the code and put it into a text editor programm than change the code and copy it to the window.
Check out the latest version...

  • dawolman
  • [*]
Re: foo_onewaysync
Reply #192
I am having a problem when I set the number of conversion threads to 2 or higher. It seems like the tmp files created cannot be accessed by qaac.

My command line is

Code: [Select]
"C:\Program Files (x86)\foobar2000\encoders\qaac.exe" %in% --raw --raw-rate %sr% -V 73 -o %out%

and the errors from the console:

Quote
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B29.tmp: The process cannot access the file because it is being used by another process.
NP
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B2C.tmp: The process cannot access the file because it is being used by another process.
\
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B26.tmp: The process cannot access the file because it is being used by another process.
P
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B2B.tmp: The process cannot access the file because it is being used by another process.
7PTV
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B2A.tmp: The process cannot access the file because it is being used by another process.
P@
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS5B27.tmp: The process cannot access the file because it is being used by another process.
~P

It works fine with just one conversion thread, but I would like to use more to increase the speed of conversion. Any help would be greatly appreciated.

  • jmaeshawn
  • [*]
Re: foo_onewaysync
Reply #193
Zimjo, Thank you so much for fixing the issue with copying embedded images from flac files! I've tested it several times, and it seems to working great now! :)

However, I'm also having a similar issue to the one that dawolman described above. The encoder properly encodes and tags the first file, and then throws errors for the second file onwards. (After encoding all the other files, no less.)

I try to run the encode again, and this time it skips the first file since it already exists in the destination folder, encodes and tags the second file properly, then throws errors on the third file onward. So on and so forth, I've needed to run the process 100+ times to get it to do the entire playlist song-by-song  when my conversion threads is set to 8.

Curious, I tried using onewaysync's default LAME encoder:
Code: [Select]
"C:\Program Files (x86)\Audio\foobar2000\LAME\lame.exe" --vbr-new -h -V 4 -r -s %sr% %in% %out%
as well as my regular qaac encoder settings:
Code: [Select]
"C:\Program Files (x86)\Audio\foobar2000\encoders\qaac.exe" %in% --raw --raw-rate %sr% -V 63 -s -o %out%
just to see if it would do anything different, but they both seem to have the same problem when the encoder threads are set higher than 1. So it doesn't seems to be an encoder issue, but rather the plugin just has problems running more than 1 thread at a time.

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #194
Cannot confirm that there is a general problem with the plugin. Converting with lame and up to 4 threads works just fine for me on Win 7. I recommend to exclude the generated lossy files from the media library. In case you convert to mp3, adding
Code: [Select]
*.lossy.mp3
to the media library exclude list will do the trick.
Does that change anything?
What windows version are you on?


I am having a problem when I set the number of conversion threads to 2 or higher. It seems like the tmp files created cannot be accessed by qaac.

It works fine with just one conversion thread, but I would like to use more to increase the speed of conversion. Any help would be greatly appreciated.
What windows version are you on? Please test with lame and report back if you observe the same issue.

Zimjo, Thank you so much for fixing the issue with copying embedded images from flac files! I've tested it several times, and it seems to working great now! :)
Great, thanks for the feedback  :)

  • dawolman
  • [*]
Re: foo_onewaysync
Reply #195
OK, it works with lame. I am using Windows 10 x64.

I have no idea if this is relevant, but the output from lame gets printed in the console while the qaac processes pop up in their own command windows.

It seems like qaac is being run on the temporary files before the plugin is done creating them.

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #196
The lame processes also have their own cmd window, its probably just minimized.
Do you have the 'print additional debug info to console' option enabled. If not so, what is the output from lame, is there any error?

The plugin determines only the name of the temorary file, but it is created by the encoder. So besides qaac, there should not be any other process accessing the file. Can you test if manually calling multiple instances of qaac works: Enable the 'print additional debug info to console' option. Look for the qaac command line in foobar console. Copy at least two distinct conversion commands and paste each of them in cmd.exe. Execute them simultaneously. Does that work?

  • dawolman
  • [*]
Re: foo_onewaysync
Reply #197
OK, I tested two conversion commands simultaneously and it does work.

I think I should have been more clear about which temporary file. I mean the file that contains the PCM data, which i'm guessing is not created by qaac.

When I run OWS with multiple threads I get the following output:

Quote
foo_ows: Using encoder qaac with file ext m4a
 encoder cmd line "C:\Program Files (x86)\foobar2000\encoders\qaac.exe" %in% --raw --raw-rate %sr% -V 73 -o %out%
foo_ows: Converting file. Commandline: "C:\Program Files (x86)\foobar2000\encoders\qaac.exe"  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9E.tmp" --raw --raw-rate 44100 -V 73 -o  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9E.tmp.m4a"
foo_ows: Converting file. Commandline: "C:\Program Files (x86)\foobar2000\encoders\qaac.exe"  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9D.tmp" --raw --raw-rate 44100 -V 73 -o  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9D.tmp.m4a"
foo_ows: Converting file. Commandline: "C:\Program Files (x86)\foobar2000\encoders\qaac.exe"  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9B.tmp" --raw --raw-rate 44100 -V 73 -o  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9B.tmp.m4a"
foo_ows: Converting file. Commandline: "C:\Program Files (x86)\foobar2000\encoders\qaac.exe"  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9C.tmp" --raw --raw-rate 44100 -V 73 -o  "C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9C.tmp.m4a"
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9D.tmp: The process cannot access the file because it is being used by another process.
n]2 
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9B.tmp: The process cannot access the file because it is being used by another process.
R3\
foo_ows: End of converter output
foo_ows: Error: Conversion thread exit code 2. Converter output follows:
qaac 2.64, CoreAudioToolbox 7.10.9.0
ERROR: C:\Users\DANIEL~1\AppData\Local\Temp\OWS2F9C.tmp: The process cannot access the file because it is being used by another process.
"Z:'
foo_ows: End of converter output

The first process works fine, but the rest of the batch give the error "The process cannot access the file because it is being used by another process." It seems like qaac is being called on the subsequent PCM temp files before they are finished being created which causes the error.

When i run lame this issue does not occur. There are no errors and all files are encoded successfully.

  • zimjo
  • [*][*][*]
  • Developer
Re: foo_onewaysync
Reply #198
It is assured that generation of the PCM file is finished before the conversion command is executed.
The component does not make any distinction between different encoders. It simply executes the commands that you see printed to the console. So, if it works with lame, qaac must have some special requirements.

When the problem occurs, can you try to figure out which process has opened the problematic file? You can find some methods how to do that here.


  • 2sevens
  • [*]
Re: foo_onewaysync
Reply #199
Hello, I'm a bit new to the world of Foobar plugins, but this looks amazingly useful - thanks for making it!

Unfortunately, I cannot get it working

I'm unable to load Onewaysync 0.6.0 in Foobar V1.3.15 or 1.3.16.

I've hit the same problems in the following use-cases:
-Portable Mode enabled, BPM Analyser, IPod Manager and Columns UI loaded
-Standard Mode enabled, no optional components loaded

The machine runs on WinXP (I know, don't ask), with user accounts set up.

Foobar was installed by User in Portable Mode and Administrator in Standard Mode.

The error files are attached.

Are there any known conflicts or am I doing something wrong??  It looks like an excellent tool & I'd love to be asble to use it.  Thanks in advance for any help or suggestions.
  • Last Edit: 11 July, 2017, 12:11:53 PM by 2sevens