foobar2000:Components/One Way Sync (foo_ows)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
One Way Sync
Foo ows.png
One Way Sync preferences page.
Developer(s) zimjo
Repository {{{repository}}}
Release information
Initial release April 3, 2014
Stable release TBC
Preview release 0.6.4 (December 11, 2018)
foobar2000 compatibility
Architecture {{{foobar2000_architecture}}}
Minimum version 1.1
Maximum version {{{foobar2000_maximum}}}
UI module(s) N/A
Additional information
License {{{license}}}
Discussion thread {{{discussion_thread}}}
View all components

One Way Sync, or OWS, is a foobar2000 component that allows you to transfer files directly into a folder—PC or MTP device—in a couple of clicks. The main difference with the default option on Foobar2000 is that, as said, can copy to MTP devices. In order to do so, you need to install and configure One Way Sync. The first part of this article will help you to get familiar with the options and sections of the component while the second part will show you how the different sections interact with each other, and how to make use of it with examples.


To install One Way Sync just download the official component from the Foobar2000 repository—or external links at the bottom of this page—and proceed with a regular install on your F2000; drag and drop or install and choose the component, and restart if it is not asked. Once installed you will have the component in your Preferences>Tools section.

Configuring your One Way Sync component

This component has three sections and basically, you have to set a device and a task to be performed on that device. On the device section you can set the destination itself and if the files must be encoded among other options. On the other hand, a task is saying to the component how you want the files to be transferred, for instance, you want a folder full of music files or a folder containing all the files in folders ordered by artist and album.

First section

You can set here the encoder settings among other options a for example what files are treated as cover art.

1 section one way sync.png
  • Encoder Settings: shows the encoder configuration when done on the fly. You can create or add a new one as well as remove the already present one;
  • Save lossy files at lossless source path: once you have converted the .flac files, for instance, the converted files get stored in the source path of the .flac files so you do not have to repeat the conversion. This is useful for weak PC with a lot of storage capacity;
  • Store path to lossy files in tags: when the previous option is ticked then the path where the lossy files are stored is embed in the files' tags;
  • Show summary at end of sync: when the copy of the files is done a popup with information is shown—files converted or playlists created, for instance;
  • Create subfolder for each task: you can choose whether you want to create a folder for every single task—playlists—associated to a command or if you want a single folder for all the songs transfered—in case you want a single folder with all the songs on it just untick it, for instance. So for example if you are transferring two tasks with a playlist each one, each one of those tasks is transferred to separate folders or not, depending on the option you choose here;
  • Print additional info to console: additional info is written in the console, you can access that through the View menu;
  • Convertion threads: when transferring songs, some, can be converted and this option lets you decide how many files you would like to convert at the same time;
  • Cover filename: when transferring files the album covers can be transferred as well and you can choose here what filenames will be treated as album covers, by default folder.jpg or cover.jpg—you can add a custom one in case you use one as, for example, albumcovers.png.

Second section: devices and commands

Think of a command as a way to tell the component, on one hand, the destination—PC, USB...—and folder you want the music files transferred, and on the other hand, the tasks—tittle format and playlists—you want to apply to a one single command. Other options are available as copy lyrics or cover art.

2 one way sync devices.png

Destination devices and folders

As you can see here are included the folders where the music files are going to be stored. You can double-click one path to modify it or create a new one as well as remove the already existing ones. The WPD paths show the MTP devices, those are automatically added once the component detects that is been connected to the PC, they stay there unless you remove them manually even if the device is unplugged.

Device commands and options

  • First row: the first row lets you chose a name for the command;
  • The second row: lets you choose between the destination devices and folders, meaning, you can choose here where you want to transfer the files—PC to a folder name music or USB root folder. So basically you can choose a given destination you created on Destination devices and folders;
  • The third row: here you can choose the coder you want to use in case you want to use on the fly conversion—in summary, here it will be shown the coders you introduced in the section Encoder Settings in the first section;
  • Sync tasks: each command is associated to a task and a task is simply saying to One Way Sync the way the files are written before trasnfering—01. Artist - Title track, for instance—and which playlist, if any, you choose to transfer—see Third section: tasks for more explanations about that feature;
  • Convert lossless files: this is useful if you want to automatize the conversion of for instance .flac files. Once you check this those files will be always converted with the encoder you set on Encoder settings, so on the PC you will have the .flac files while on the mobile you will have the converted version of those files;
  • Convert these lossy files: choose what extensions of lossy files you want to always convert;
  • Copy covert art: choose if you want to copy the cover arts of all files to the folder destination in one single folder;
  • Always embed cover art: if you want the cover art to embed on the files, tick that one;
  • Copy lyrics: choose if you want to copy the .lrc files stored in the same source folder as the file itself;
  • Linux compatible playlist: create playlist compatible with Linux style path, for example, for Android devices;
  • Process destination files with: lets you choose what to do with the files once they are transferred to the destination folder—for instance, erase all the cover arts or rate them with a four;
  • Show files removed since last sync: the files that were removed after the previous sync will be added to a special playlist on Foobar2000;
  • Delete unreferenced files: files not checked to copy on the next sync—but already present on the destination device—will be erased from the destination device;
  • Import files from device: you can set a folder from the device to import any kind of files—pictures, for instance—, just introduce the source path and the destination path;
  • Delete files after successful import: after doing the previous operation you can check this option if you want to delete the files from the source path.

Third section: tasks

Think of a task as a way to tell the component the way you want title format your music files on the destination device and which playlist will be transferred in case you choose any of them. So, you can transfer various playlists in batch with one title format or you could assign various title formats to various playlists setting a new task for each title format and associate all the tasks—since they all will appear on sync tasks—to one single command—destination—.

3 tasks one way sync.png

Titlteformatting scripts

Folders of artist and albums vs. all songs in one single folder.

Here you can add, modify or remove a title format to set the way the music files are organized on the destination folder; for instance, if you want separate files by artists and albums you can set the title format to files\%artist%\%album%\%title%.$ext(%_path%), it will create separate folders for artists and then, inside those ones, folders separated by albums—first picture. If you want all the files on the same folder set a tittle format %artist% - %album% or whichever title format you want—second picture.

Sync tasks and options

In this section you can set sync tasks, meaning, you can define sync tasks and decide how those title format your music files in the destination folder, and choose which playlists, in case you just use a fixed couple, will be affected by this given task. For instance, you can create two different playlists; one to synchronize with an MTP device, and another one if you want to transfer the music files to a USB. Now you create a task for each playlist with different, not necessarily, title formats. If you do not select any playlist there is no problem because you can always perform the task from the file operations menu on Foobar2000 context menu.

Transferring the files

Popup showing when you select a playlist or all the files and Right click.

Depending on how you have configured the component's options you have various ways of transferring the files.

  • If you have selected playlists on Tasks you can simply go to File>One Way Sync and select the name of the command you have there;
  • if you have not selected a playlist on Tasks then you can select a playlist on the playlist manager or select all the tracks from the playlist and then Right click>File Operations>One Way Sync>Select and a popup will appear where you can choose the destination and the title formatting and even if you want to copy the playlist too—this last option will open a dialogue where you can choose where to save it;
    • optionally you can choose to use the last command;
    • in order to save playlists you must do it on the PC, so if you transfer the files to an MTP device this option is not possible—just transfer the files to the Desktop, for instance, copy the playlist and then copy/paste the folder on the MTP device if you want the playlist.

How to make the component interact between the different sections

Let us say that you want to copy in the desktop on one single folder named new folder all the music files from a given playlist ordered by artist - tittle.

  • Go to Devices and create a path on Destination devices and folders that leads to the desired folder, new folder in this case—you can create the folder and copy/paste the path directly;
  • on device commands create a new command and name it copy to desktop;
  • on the next row select the desired path, new folder in that case;
  • change the encoder if you want to—remember you must add it to the Encoder Settings section in order to appear here;
  • go to Tasks and create a new sync task and name it desktop-%artist% - %tittle%;
  • on the next row select a title format you created on titleformatting scripts—, in this case, if you want artist - title then: %artist% - %title% which gives Mariah Carey - Forever;
    • although you can choose any from remapped metadata fields;
      • maybe you want number of the track - title - date then create %tracknumber% - %title% - %date% which gives 10 - Forever - 1995;
    • you can even substitute slashes with points or other sings of your preference;
  • select the playlist you want to copy, you must create it first on the playlist manager and then choose it here;
  • finally close the One Way Sync preferences dialogue and given that you want to copy a playlist you selected on Tasks>PlaylistNames, simply go to File>One Way Sync>Copy to desktop this will transfer—execute the command—all the songs to the new folder on the desktop with your title formatting option.

But what happens if you want to keep the command desktop-%artist% - %tittle% because for whatever reason you want to hear the songs on VLC Player when using this command but at the same time, you want other title format and another playlist when you want to copy the songs to the root of a USB, instead to a folder, when hearing music on your TV.

  • Create the previous command, if you did not;
  • create another command but instead of choosing the new folder on the desktop just copy/paste or write the path to the USB if you want it on the root with no folders;
  • name it copy to USB;
  • select the path to the USB;
  • on Tasks create a new sync task and name it copy to USB root-[tittleformatyouchoose];
  • choose the title format you want to use;
  • select the playlist you want to copy or any if you do not want to use a specific playlist;
  • go to the command section and choose copy to USB root and untick copy to desktop-%artist% - %tittle% leaving ticked copy to USB root-[tittleformatyouchoose]—assuming you have created both;
  • close the preferences dialogue and if you choose a playlist then go to File>One Way Sync>Copy to USB, if you did not choose a playlist then go to the playlist manager and right click File operations>One Way Sync>Select this will pop up the menu Selection where you can choose a command—destination folder—and a tittle formatting—you can select as well all the tracks in a playlist and right click.


Title format Preview Comment
 %artist% - %title% Alicia Keys - As I Am (intro)
files\%artist%\%album%\%title%.$ext(%_path%) First folder/Jewel/The Greatest Hits Remixed/Only One Too (Lenny B. club mix).mp3 Each field between \ or / represents a folder. Watch that in the field Titleformatting Settings on OWS you must write the first one.

Error codes

  • Error 3: Target full path (path + filename) too long and/or invalid
  • Error 4: Target device out of storage space

See also

External links