public long StartJob(List <long> photoIds, int framerate)
        {
            TimeLapseJob job;

            if (UnusedIds.Count == 0)
            {
                job     = new TimeLapseJob(NextId, photoIds, framerate);
                NextId += 1;
            }
            else
            {
                long id = UnusedIds.Pop();
                job = new TimeLapseJob(id, photoIds, framerate);
            }

            job.BeginProcessing();
            Jobs.Add(job.Id, job);
            return(job.Id);
        }
 private void job_discardedCompletionEvent(TimeLapseJob sender)
 {
     HardDiscard(sender.Id);
 }
        public long StartJob(List<long> photoIds, int framerate)
        {
            TimeLapseJob job;
            if(UnusedIds.Count == 0)
            {
                job = new TimeLapseJob(NextId, photoIds, framerate);
                NextId += 1;
            }
            else
            {
                long id = UnusedIds.Pop();
                job = new TimeLapseJob(id, photoIds, framerate);
            }

            job.BeginProcessing();
            Jobs.Add(job.Id, job);
            return job.Id;
        }
 private void job_discardedCompletionEvent(TimeLapseJob sender)
 {
     HardDiscard(sender.Id);
 }