code: public static TimecodeBuilder fromEncodedValue(String encoded)
  	{
  		try
  		{
  			final String[] parts = encoded.split("@");
  
  			if (parts.length != 2)
  				throw new IllegalArgumentException("Expected timecode@timebase but got " + encoded);
  
  			final String smpte = parts[0];
  			final String timebase = parts[1];
  
  			return fromSMPTE(smpte).withRate(Timebase.getInstance(timebase));
  		}
  		catch (RuntimeException e)
  		{
  			throw new IllegalArgumentException("Cannot parse timecode expr " + encoded + " - " + e.getMessage(), e);
  		}
  	}
docs: Parse a Timecode encoded in the "vidispine style" (<code>hh:mm:ss:ff@timebase</code>). See {@link Timebase#getInstance}
  for information on valid timebase representations
  
  @param encoded
  a timecode encoded as <code>hh:mm:ss:ff@timebase</code>
  
  @return a parsed timecode object
  
  @throws RuntimeException
  if the encoded string is not well-formed or could not be parsed