void ChannelViewport::valueTreePropertyChanged( ValueTree& treeWhosePropertyHasChanged, const Identifier& property )
{
	//DBG("ChannelViewport::valueTreePropertyChanged " << treeWhosePropertyHasChanged.getType().toString() << " " << property.toString() << " " << treeWhosePropertyHasChanged[property].toString());

#if 1
	if(treeWhosePropertyHasChanged.isAChildOf(channelsTree))
	{
		ChannelComponent* channelComponent = content.channelComponents[treeWhosePropertyHasChanged[Identifiers::Channel]];
		if (channelComponent == nullptr)
		{
			return;
		}
		if (Identifiers::Name == property)
		{
			channelComponent->channelNameLabel.setText(treeWhosePropertyHasChanged[property].toString(),dontSendNotification);
			return;
		}
	}
#endif

#if 1
	if (treeWhosePropertyHasChanged == channelsTree)
	{
		if (Identifiers::MaxChannelCount == property)
		{
			triggerAsyncUpdate();
			return;
		}

		if (Identifiers::CurrentChannelCount == property)
		{
			setChannelComponentsVisible();
			return;
		}
	}

#endif
}
bool MarkerList::ValueTreeWrapper::containsMarker (const ValueTree& marker) const
{
    return marker.isAChildOf (state);
}