Here are some tests I ran with reactive violet 14. This is the lovely single-hue unmixed violet dye whose real dye code is violet MX-2R, but which is widely sold under the ridiculous misnomer of violet MX-G*. It's widely known as "grape".
The leftmost swatch was dyed with 15 ml of distilled white 5% acidity vinegar in 125 ml of water; the middle one in just water; and the one on the right with 2.5 ml soda ash in 125 ml of water. They were all heated in a microwave oven until very hot but not boiling, allowed to cool for about ten minutes, and then rinsed in cold and then hot water, with a drop of hand dishwashing liquid. The fibers in the test ribbon are, top to bottom:
Cotton and rayon were stained even at an acid or neutral pH, and dyed well at a basic pH with the soda ash. Nylon dyed well in acid, a little in plain water, and none at all with soda ash. Silk dyed well under every circumstance! Silk just loves this dye. Wool dyed least intensely in plain water, but worked well at an acid pH (vinegar) and a basic pH (soda ash); the latter tends to damage the wool, however, leaving it fuzzy.
This was from an old bottle of dye that I mixed up in plain water back in July 2006, six and a half months previously, then stored at 4°C (39°F) in a small refrigerator. Violet MX-2R works very well after such a long period of refrigeration! It did not go bad like the boysenberry did after the same length of time.
*"G" after an MX code means "yellow"—it stands for "Gelb" which is German for "yellow". What do they think this is, a yellowish purple? Yellowish purple would be brown! It's supposed to be violet MX-2R, where the "R" stands for "Rot", German for "red", because it's a little on the red side of violet. However, there is or was a chemist at Standard Dye who clearly did not understand dye codes and was ridiculously cavalier in what he labeled the dyes they sell, and Standard is (or at least was) the supplier for this dye to several dye retailers.