FixCue 1.4 发布

终于有时间(咦?)把小薰的编码自动识别代码移植到C#,再加上增添了一些一直想改的功能,这下FixCue终于算是彻底达成我的预期目标了,接下来如果没有重大Bug,估计也不会再进行太多修订了。这次专门写了个文档,不过这类说明文还是不太会写,大家凑合看吧。下载附在最后了。

FixCue使用手册

本软件理念

对于热爱听无损音乐,尤其是ACG无损音乐的人来说,“修复”CUE文件是一件经常会遇到的事情。所谓修复CUE,就是纠正CUE文件的“错误”使得播放软件可以正确识别里面的音轨。一般来说,错误主要分为两类:

1. 文件编码不对,读取进播放软件是乱码

这是最常见的错误。因为EAC等软件抓轨后,保存的cue是ANSI编码的,那么一些从日本流出的无损其带的CUE也自然是shift-JIS编码,那么用非日文系统打开就会变成乱码。可以说,在Unicode已经诞生这么多年的今天,依然有大量软件使用ANSI,这是一件很让人痛心的事。不过遇到问题解决问题,对于这类错误,我们需要的就是转码了——比起ANSI程序,文本文件的转码相对就简单很多,有一种最简单的方法就是用浏览器打开文本文件,选择(或自动识别)相应的编码即可;当然,也有无数的高级文本编辑器提供相应的功能,但是据我所知,Win下的大部分文本编辑器无法做到“自动识别编码”,这不得不说也是一大遗憾。

2. 引用的音乐文件不正确

所谓引用的音乐文件就是CUE FILE行所对应的那个文件。虽说CUE是抓轨时自动生成的,引用文件原本不该有问题才对,但是许多职人放流时会将WAV转换成多种多样的无损格式,却又不修改原始的CUE,那么就产生了这类问题。

另外还有一类foobar2000特殊的问题,在此也专门提出。Foobar2000的媒体库功能相信很多人都用到,是一个非常方便的功能。但是如果经常下载日职人放流的EAC的人都知道,日本职人放流CUE往往会有许多个CUE,有的是没有曲目信息的,有的是对应原始WAV的,有的是对应转格式后的无损文件的……如果你转码了其中一个并另存为的话,那么原来的乱码的也在;而这些,全部都会读取到你的Foobar2000媒体库中,非常的杂乱。在原来,我总是采取把这些无用的Cue移动到一个子目录下(基于原档强迫症,并不想删除它们)。但是没想到,foobar2000自从0.9.x某个版本之后,其标准输入组foo_input_std在打开文件而未播放之前,是不会检测文件的有效性的。也就是说如果一个CUE文件是无效的,也会读取到foobar200的媒体库里,这样即使移动到子目录,他也会被读取进来。好在foobar2000的媒体库并不读取隐藏文件,故我后来对于无用的CUE都是隐藏了事。

了解了以上这些问题,自然也就清楚了本软件的目的。本软件的一切都围绕着一点:全自动处理CUE。虽然我也提供了一些手动修改的途径,但是最主要的使用方法,就是把一个含有以上各种错误的CUE通过本软件修复之后,可以完美解决,而不需要再进行任何的人工干预。另外,由于CUE最终还是要用播放器播放的,所以我专门添加了修复完之后自动用播放器打开的功能;另外由于上面提到的Foobar2000媒体库索引的特殊问题,我又增加了能自动处理其他CUE的选项。

软件使用介绍

The FixCue's Snapshot

上图就是FixCue的具体界面。

功能特性:(抄袭修改自http://kuyur.info/blog/archives/877 233)

–全自动处理CUE
–完整的Unicode支持
–自动检测文本编码
–自定义BIG5 to Unicode的映射表,取代微软自身的CP950,解决日文假名丢失问题
–转换结果保存为utf-8编码的文本
–支持文件拖放操作及命令行打开文档
–自动修正cue中的File行音频文件扩展名
–自动修正cue中的File行旧式“The True Audio”标签为“WAVE”
–CUE右键菜单关联

推荐使用方法:

运行程序,勾选自动保存&自动退出;根据需求修改下面各种选项(推荐勾选所有CUE处理参数,以得到最好效果);注册到右键菜单;关闭。以后,在需要转码的CUE上右键->用FixCue修复之后可以完成所有处理,并立即用播放器打开该Cue进行播放。

提示:因本程序为.NET程序,故开机首次启动需要预编译较慢,请见谅。

功能逐一介绍供查阅:

最上方文本框①:显示输出路径。

打开按钮:打开要处理的CUE。本软件提供三种打开方式:1. 使用此按钮;2. 拖拽文件至程序上;3. 用命令行操作。其中第三种主要是为了添加处理命令到CUE右键菜单而存在的。

编码类型:本软件采取小熏(http://kuyur.info)的编码识别方案,根据码段自动识别Big5/GB/shift-JIS编码,而且对于Big5编码,使用自定义的转码表,因此不会有假名缺失的问题。对于无法识别的编码,则采用此处默认的编码。数字为微软code page编号,日文为932,简体中文为936,繁体中文为950。

自动保存&自动退出:如名。选择自动保存时,打开之后文件后,处理完毕会自动保存;选择自动退出时,保存完毕会自动退出。两者同时使用可以完成全自动处理Cue的过程。

文本框②:如果手动处理文件,那么在打开之后可以在这里人工修改文本。当然,实际用到的机会不是很多。

另存为文件名:设定保存的文件名。可以使用%filename%表示原文件名,暂不支持其他转义符。如果勾选“覆盖原文件”,则覆盖原始文件。(不推荐勾选)

CUE专用选项

虽说本软件专为CUE设计,但是其转码功能也可用于任何文本文件。但是下面这些选项就仅在打开的文件是.cue格式时才有效。

将FILE行”The True Audio”替换为”WAVE”:Foobar2000对于CUE的要求很严格,FILE行的结尾只能是非常有限的几个如WAVE,MP3等。有些软件对于TTA产生的CUE这里会写成”The True Audio”,那么用此选项将其替换为”WAVE”。(推荐勾选)

同目录查找音乐文件替换FILE行文件名:此选项就是用来修复上面提到的第二类CUE问题。其具体逻辑为:首先搜索同目录下的无损格式音乐文件(WAV/FLAC/TTA/TAK/APE)。如果不存在,那么不对FILE行进行任何操作;如果存在且只存在一个,那么将FILE行直接替换;如果存在两个及其以上的音乐文件,那么逐一比对FILE行除了后缀名前面的文件名部分,如果找到一致的则修改之,否则不进行任何修改。之所以要这么复杂的处理,是为了防止有些CD有多碟又放到了同一个目录之下。(推荐勾选)

自动发送到播放器:可以在处理完CUE文件之后,自动用命令行的方式将其传送给其他的程序,如播放器或者文本编辑程序。比如对于我个人来说,会选择用foobar2000打开,那么程序路径就是“D:\Program Files\foobar2000\foobar2000.exe”(不含引号,可以用后面的“浏览..”选择);参数方面,一般程序的参数就是“ %1”(不含引号,注意空格),但是foobar2000如果用此方法将会替换掉这个播放列表,那么我采用另外一种方式“ /add “%1″”,可以只将其添加到播放列表的末端。(根据个人需求勾选)

处理其他cue:可以在处理完CUE文件之后,自动对同目录下的无用CUE(如果你是另存为保存,那么也包括被操作的原始cue文件哦)进行隐藏、删除到回收站、移动到指定的子目录三种处理。其对于无用的逻辑判断类似“同目录查找音乐文件替换FILE行文件名”,如果不存在音乐文件,那么无操作;如果只有一个,那么无脑移动所有其他CUE,如果有多个音乐文件,那么只移动和当前CUE引用文件(去除后缀)一致的CUE,依然是为了防止多碟的情况。(根据个人需求勾选)

注册到右键菜单/从右键菜单卸载:依然是为了方便使用。点击注册之后,会自动在CUE文件的右键菜单增加“用FixCue修复选项”。另外值得一说的是,我发现很多软件的右键菜单注册功能写的都不好,不适用于win7,有些时候会发生注册不上的问题。我这个应该没有此类问题。(推荐注册)

其他说明

软件编写:烈之斩(twitter:@ikenaikoto

最新版本:1.4 (2012/4/20)

欢迎散布

自动识别编码的代码借鉴自小熏(http://kuyur.info),再次表示感谢

下载地址:SkyDrive | 115

Advertisements

One thought on “FixCue 1.4 发布

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s