I am allergic to all synthetic chemical smells (as in moth balls and today's products like Wick, Glade, strongly fragranced laundry detergent/fabric softener, etc.) and musty smells which really are a type of mold. I have searched high and low on ways to remove these smells from fabrics and finally came up with these two effective methods:
1) I add a few drops of Rosemary Essential Oil to the unscented laundry detergent after I have added the detergent to the washing machine, and, the same to the unscented fabric softener. When the clothing is done, I give it the nose test and if it still smells a bit, I run the wash over again. Usually, though, the first wash works fine. I have used this method on new flannel sheets and new children's clothing.
2) I found a wonderful product that not only removes smells from fabrics, even washable wools, but, it also removes most stains and brightens whites and colors. Especially in cotton it removes the old cotton smell that is common in blue jeans and mens' undershirts and underpants. The product is called OXO BRITE by Earth Friendly Products and is NOT the same as the product you see on TV, which is called OXY Clean. Do NOT buy OXY Clean as it is strongly fragranced with synthetic fragrances which are neurotoxins, poisons to the brain.
The cool thing about OXO BRITE is that it will also remove most stains off kitchen and bathroom sinks and even toilets. Just make a paste of it with water and then apply and let stand for awhile. I originally bought OXO BRITE at Trader Joe's but they discontinued it. I now buy it at New Season's or Whole Foods.
OXO BRITE is great to wash old fabrics with, such as tablecloths, linens, doilies...just put the OXO BRITE in the soaking cycle in the washing machine. After that cycle is completed then wash the item as normal. I always wash older fabrics on delicate and either low or no spin.