public void activateEmbeddedMovie(boolean b) {
		if (b) {
			if (job != null && !job.contains(movieUpdater))
				job.add(movieUpdater);
			int m = movieUpdater.getInterval();
			modelTimeQueue.setInterval(m);
			kine.setInterval(m);
			pote.setInterval(m);
			tote.setInterval(m);
			for (FloatQueue q : channelTs)
				q.setInterval(m);
			for (FloatQueue q : kep)
				q.setInterval(m);
			int n = movie.getCapacity();
			setQueueLength(n);
			for (int i = 0; i < numberOfAtoms; i++) {
				atom[i].initializeMovieQ(n);
				if (!atom[i].getElectrons().isEmpty())
					atom[i].initializeExcitationQ(n);
			}
			if (obstacles != null && !obstacles.isEmpty()) {
				synchronized (obstacles.getSynchronizationLock()) {
					for (Iterator it = obstacles.iterator(); it.hasNext();)
						((RectangularObstacle) it.next()).initializeMovieQ(n);
				}
			}
		} else {
			if (job != null && job.contains(movieUpdater))
				job.remove(movieUpdater);
			setQueueLength(-1);
			for (int i = 0; i < numberOfAtoms; i++) {
				atom[i].initializeMovieQ(-1);
				atom[i].initializeExcitationQ(-1);
			}
			if (obstacles != null && !obstacles.isEmpty()) {
				synchronized (obstacles.getSynchronizationLock()) {
					for (Iterator it = obstacles.iterator(); it.hasNext();)
						((RectangularObstacle) it.next()).initializeMovieQ(-1);
				}
			}
		}
		movie.setCurrentFrameIndex(0);
		setRecorderDisabled(!b);
	}