Wildcard character in track title causes error in abcde

filenaming
windows
Tags: #<Tag:0x00007f11c7dad858> #<Tag:0x00007f11c7dad6c8>

#1

Recently I encountered an interesting problem which I would like to have some feedback on. For ripping I use abcde, which makes a call to the musicbrainz db to retrieve track information. Also, abcde uses this information to make informative file names. However, the program encountered an error when trying to rename and move the files belonging to the following track:

Cold * Fusion - Time Distortion

which is track 3 of this release.

So apparently the wildcard character caused a problem because bash tried to parse it when moving/renaming the resulting flac. Are there any regulations concerning using forbidden characters. If so, what are the conventions for replacing them? Thanks

Here is the error abcde threw at me:

[ERROR] abcde: The following commands failed to run:
movetrack-03: returned code 1: mv /home/biocv/flac/abcde.5NMRHncFwSshYpUKr8Kgu1gEP_U-/track03.flac /home/biocv/flac/Various-Thunderpussy_Sampler,_Volume_One/03.Time_Distortion-Cold_abcde.5NMRHncFwSshYpUKr8Kgu1gEP_U-Antonelli-The_Blackout_Quintet_Remixes_Aphex_Twin-Selected_Ambient_Works_85_92_Autechre-Incunabula_Beaumont_Hannant-Basic_Data_Manipulation_Taste_and_Textures_Vol_2_Ben_Lukas_Boysen_Sebastian_Plano-Everything_Black_Dog_Productions-Bytes_Booming_Support-Rode_Schoentjes_Boston_168-Acid_Morning_Chilly_Gonzales-Live_at_Massey_Hall_Chilly_Gonzales-Solo_Piano_III_commandline.txt_Cubic_22-Night_In_Motion_Culture_Beat-Serenity_Cyberia-Albatross_D-Shake-My_Heart_The_Beat_D-Shake-Set_the_Controls_for_the_Heart_of_the_Groove_Efdemin-Decay_Versions_Pt2_E-Scapes-Volume_One_Fierce_Ruling_Diva-Rubb_It_In_First_Contact-I_Call_Upon_First_Contact-Proze&Cons_flac2mp3.sh_FPI_Project-Feel_It_Frank_de_Wulf-The_First_3_Years_Ilsa_Gold-Regretten_Rien_Jerome_Hill-Cley_Hill_Transmissions_Lisa_Lisa&_Cult_Jam-Let_the_Beat_Hit_Em_M_A_R_R_S-Pump_Up_The_Volume_EP_Massive_Attack-Blue_Lines_Messiah-I_Feel_Love_Neon-Waves_N-Joi-Live_in_Manchester_Orbital-Monsters_Exist_Orbital-Orbital_Orbital-Orbital_2_Partners_In_Crime-Gotham_City_Strikes_Again_Photek-Aviator_EP_Praga_Khan-Rave_Alarm_Quadrophonia-Cozmic_Jam_Robin_S-Show_Me_Love_Rone-Spanish_Breakfast_Seal-Seal_Sequencial-American_Psycho_Sequencial-Cycades_Sequencial-Death_House_SL2-DJs_Take_Control_Soichi_Terada-Sounds_From_The_Far_East_Sperminator-No_Woman_Allowed_Supermatic-Bumrush_The_Sound_T99-Anasthasia_T99-Children_of_Chaos_T99-Nocturne_Tecno-Flight_1-Fuck_You!_The_Remixes_The_Cyber_Prince-Dreaming_of_You_The_Future_Sound_of_London-Accelerator_The_KLF-The_White_Room_The_Orb-U.F.Orb_The_Prodigy-Charly_The_Prodigy-Experience_The_Prodigy-Fire_The_Ultimate_Seduction-House_Nation_Usha-I_Want_You_Rockin_the_Beat_Various-At_Play_Various-Decadance_Volume_IV_Various-Deep_Heat_11_Spirit_of_Ecstasy_Various-Erased_Tapes_Collection_IX_Various-Erased_Tapes_Collection_VIII_Various-Extra_Sensual_Perception_Various-For_Those_Who_Like_To_Groove,_Volume_2_Various-Go_Bang!_Volume_1_Various-Groove_Kissing,_Volume_1_Various-Groove_Kissing,Volume_2_Various-Hit_the_Decks_Volume_1-Techno_Megamix_Various-House_Party_II_The_Ultimate_Megamix_Various-House_Party_The_Ultimate_Megamix_Various-Kaos_Theory_Various-Order_to_Dance_III_Various-Phuture_Trax_Stage_Three_Various-Phuture_Trax_Stage_Two_Various-Rauschen_Various-Rauschen_2_Various-Rauschen_4_Various-Rauschen_5_Various-Reactivate_Volume#3_Various-Superstition_Volume_One_Various-Techno_Tunes_Volume_1_Various-Techno_Tunes_Volume_2_Various-Techno_Tunes_Volume_3_Various-The_Best_Of_Hotsound_Volume_3_Various-The_Dance_Sampler,_3rd_Chapter_Various-The_Dance_Sampler,_4th_Chapter_Various-The_Dance_Sampler,_6th_Chapter_Various-The_Dance_Sampler_First_Chapter_Various-The_Dance_Sampler_Second_Chapter_Various-The_Greatest_Hits_93_Vol_2_Various-The_Tribal_Dome_Remixed_Edition_Various-Thunderpussy_Sampler,_Volume_One_Various-Trancemaster_1_Ambient_Dance_II_Trance_Chill_Out_Various-Trancemaster_2_The_Goa_Gap_Various-Turn_Up_the_Bass_Dance_Attack_Various-Turn_Up_The_Bass_Volume_13_Various-Turn_Up_The_Bass_Volume_18_Various-Turn_Up_The_Bass_Volume_6_wav2flac_mp3.sh_wav2flac.sh_Westbam-The_Mayday_Anthem_Wim_Mertens-Struggle_for_Pleasure_Wim_Mertens-Struggle_for_Pleasure-Double_Entendre_Fusion.flac
movetrack-03: returned code 1: mv /home/biocv/flac/abcde.5NMRHncFwSshYpUKr8Kgu1gEP_U-/track03.mp3 /home/biocv/flac/Various-Thunderpussy_Sampler,_Volume_One/03.Time_Distortion-Cold_abcde.5NMRHncFwSshYpUKr8Kgu1gEP_U-Antonelli-The_Blackout_Quintet_Remixes_Aphex_Twin-Selected_Ambient_Works_85_92_Autechre-Incunabula_Beaumont_Hannant-Basic_Data_Manipulation_Taste_and_Textures_Vol_2_Ben_Lukas_Boysen_Sebastian_Plano-Everything_Black_Dog_Productions-Bytes_Booming_Support-Rode_Schoentjes_Boston_168-Acid_Morning_Chilly_Gonzales-Live_at_Massey_Hall_Chilly_Gonzales-Solo_Piano_III_commandline.txt_Cubic_22-Night_In_Motion_Culture_Beat-Serenity_Cyberia-Albatross_D-Shake-My_Heart_The_Beat_D-Shake-Set_the_Controls_for_the_Heart_of_the_Groove_Efdemin-Decay_Versions_Pt2_E-Scapes-Volume_One_Fierce_Ruling_Diva-Rubb_It_In_First_Contact-I_Call_Upon_First_Contact-Proze&Cons_flac2mp3.sh_FPI_Project-Feel_It_Frank_de_Wulf-The_First_3_Years_Ilsa_Gold-Regretten_Rien_Jerome_Hill-Cley_Hill_Transmissions_Lisa_Lisa&_Cult_Jam-Let_the_Beat_Hit_Em_M_A_R_R_S-Pump_Up_The_Volume_EP_Massive_Attack-Blue_Lines_Messiah-I_Feel_Love_Neon-Waves_N-Joi-Live_in_Manchester_Orbital-Monsters_Exist_Orbital-Orbital_Orbital-Orbital_2_Partners_In_Crime-Gotham_City_Strikes_Again_Photek-Aviator_EP_Praga_Khan-Rave_Alarm_Quadrophonia-Cozmic_Jam_Robin_S-Show_Me_Love_Rone-Spanish_Breakfast_Seal-Seal_Sequencial-American_Psycho_Sequencial-Cycades_Sequencial-Death_House_SL2-DJs_Take_Control_Soichi_Terada-Sounds_From_The_Far_East_Sperminator-No_Woman_Allowed_Supermatic-Bumrush_The_Sound_T99-Anasthasia_T99-Children_of_Chaos_T99-Nocturne_Tecno-Flight_1-Fuck_You!_The_Remixes_The_Cyber_Prince-Dreaming_of_You_The_Future_Sound_of_London-Accelerator_The_KLF-The_White_Room_The_Orb-U.F.Orb_The_Prodigy-Charly_The_Prodigy-Experience_The_Prodigy-Fire_The_Ultimate_Seduction-House_Nation_Usha-I_Want_You_Rockin_the_Beat_Various-At_Play_Various-Decadance_Volume_IV_Various-Deep_Heat_11_Spirit_of_Ecstasy_Various-Erased_Tapes_Collection_IX_Various-Erased_Tapes_Collection_VIII_Various-Extra_Sensual_Perception_Various-For_Those_Who_Like_To_Groove,_Volume_2_Various-Go_Bang!_Volume_1_Various-Groove_Kissing,_Volume_1_Various-Groove_Kissing,Volume_2_Various-Hit_the_Decks_Volume_1-Techno_Megamix_Various-House_Party_II_The_Ultimate_Megamix_Various-House_Party_The_Ultimate_Megamix_Various-Kaos_Theory_Various-Order_to_Dance_III_Various-Phuture_Trax_Stage_Three_Various-Phuture_Trax_Stage_Two_Various-Rauschen_Various-Rauschen_2_Various-Rauschen_4_Various-Rauschen_5_Various-Reactivate_Volume#3_Various-Superstition_Volume_One_Various-Techno_Tunes_Volume_1_Various-Techno_Tunes_Volume_2_Various-Techno_Tunes_Volume_3_Various-The_Best_Of_Hotsound_Volume_3_Various-The_Dance_Sampler,_3rd_Chapter_Various-The_Dance_Sampler,_4th_Chapter_Various-The_Dance_Sampler,_6th_Chapter_Various-The_Dance_Sampler_First_Chapter_Various-The_Dance_Sampler_Second_Chapter_Various-The_Greatest_Hits_93_Vol_2_Various-The_Tribal_Dome_Remixed_Edition_Various-Thunderpussy_Sampler,_Volume_One_Various-Trancemaster_1_Ambient_Dance_II_Trance_Chill_Out_Various-Trancemaster_2_The_Goa_Gap_Various-Turn_Up_the_Bass_Dance_Attack_Various-Turn_Up_The_Bass_Volume_13_Various-Turn_Up_The_Bass_Volume_18_Various-Turn_Up_The_Bass_Volume_6_wav2flac_mp3.sh_wav2flac.sh_Westbam-The_Mayday_Anthem_Wim_Mertens-Struggle_for_Pleasure_Wim_Mertens-Struggle_for_Pleasure-Double_Entendre_Fusion.mp3
Finished. Not cleaning /home/biocv/flac/abcde.5NMRHncFwSshYpUKr8Kgu1gEP_U-.


#2

* is not a forbidden character in any file system that I’m aware of, but it seems there’s a bug in abcde which fails to escape it when making a shell call or something like that. You should file a bug upstream with the abcde developers.


#3

Excellent. Then I will leave the wildcard character (*) in place and report the bug to abcde maintenance instead.


#4

@Freso I guess you don’t use Microsoft Windows or DOS based computers much. * is an illegal filename character in those OS versions. Along with things like ? \ / : < > " | and numerous unprintable items like NULL. Then other rules like can’t end in a space or a dot… blah blah other boring details. :sleeping:

Much more restricted than the “anything goes” *nix world.


#5

Might be worth noting that there is not really something like a forbidden character as far as MusicBrainz metadata is concerned. If characters used in the metadata causes issues for a specific use case (e.g. storing on the file system or in a database) it is the duty of the software using the data to convert or escape unsupported characters accordingly.

E.g. Picard has code to deal with the Windows file name restrictions @IvanDobsky mentioned.


#6

Reminds me of little bobby tables