Example #1
0
        private void ImportSong_Click(object sender, RoutedEventArgs e)
        {
            //select file
            string currentPath = OpenStuff.Files.GetPathFromDialog(null, Paths.Defaults.Music, OpenStuff.Files.Kinds.Music);

            TagLib.File newFile = TagProcessing.GetTagsFromFile(currentPath);

            //Cache Info
            Caching.currentFile = new Caching.CachedFile
            {
                fullPath = currentPath,
                Cover    = newFile.GetCoverImage(),
                active   = true
            };

            TB_Interpret.Text = newFile.Tag.FirstPerformer;
            TB_Title.Text     = newFile.Tag.Title;
            TB_Album.Text     = newFile.Tag.Album;
            TB_Track.Text     = newFile.Tag.Track.ToString();
            TB_Year.Text      = newFile.Tag.Year.ToString();
            TB_Comment.Text   = newFile.Tag.Comment;

            CB_Genre.SelectNewItem(newFile.Tag.FirstGenre);

            IMG_Cover.Source = Images.GetCoverForUI(Caching.currentFile.Cover);
        }
Example #2
0
        public void addUpdateDI(string operation, string id, string description, string address, int scantime, bool onoffscan, string driver)
        {
            lock (db.DIs)
            {
                if (operation == "add")
                {
                    DI novi = new DI(id, description, address, scantime, onoffscan, driver);
                    db.DIs.Add(novi);

                    TagProcessing.DItags.Add(novi.Id, novi);
                    TagProcessing.DIthreads.Add(novi.Id, new Thread(() => TagProcessing.readDI(novi.Id)));
                    TagProcessing.DIthreads[novi.Id].Start();

                    db.SaveChanges();
                    DataManipulator.saveData();
                    return;
                }
                DI tag = getByIdDI(id);
                tag.Description = description;
                tag.Address     = address;
                tag.ScanTime    = scantime;
                tag.OnOffScan   = onoffscan;
                tag.Driver      = driver;
                db.SaveChanges();
                DataManipulator.saveData();

                TagProcessing.DItags.Remove(tag.Id);
                TagProcessing.DItags.Add(tag.Id, tag);
                TagProcessing.DIthreads.Remove(tag.Id);
                TagProcessing.DIthreads.Add(tag.Id, new Thread(() => TagProcessing.readAI(tag.Id)));
                TagProcessing.DIthreads[tag.Id].Start();

                onChangeNotification.Invoke("Operation succesful.");
            }
        }
Example #3
0
        private void SaveTags_Click(object sender, RoutedEventArgs e)
        {
            if (saveable)
            {
                TagProcessing.SaveTags(
                    new TagProcessing.SongFile
                {
                    Interpret = TB_Interpret.Text,
                    Title     = TB_Title.Text,
                    Album     = TB_Album.Text,
                    Comment   = TB_Comment.Text,
                    Track     = int.Parse(TB_Track.Text),
                    Year      = int.Parse(TB_Year.Text),
                    Genre     = CB_Genre.GetSelectedContent()
                });
            }

            else
            {
                //TODO
                return;
            }
        }
Example #4
0
        public void addUpdateAI(string operation, string id, string description, string address, int scantime, bool onoffscan, double lowlimit, double highlimit, string units, string driver)
        {
            lock (db.AIs)
            {
                if (operation == "add")
                {
                    AI novi = new AI(id, description, address, scantime, onoffscan, lowlimit, highlimit, units, driver);
                    db.AIs.Add(novi);

                    TagProcessing.AItags.Add(novi.Id, novi);
                    TagProcessing.AIthreads.Add(novi.Id, new Thread(() => TagProcessing.readAI(novi.Id)));
                    TagProcessing.AIthreads[novi.Id].Start();

                    db.SaveChanges();
                    DataManipulator.saveData();
                    return;
                }
                AI tag = getByIdAI(id);
                tag.Description = description;
                tag.Address     = address;
                tag.ScanTime    = scantime;
                tag.OnOffScan   = onoffscan;
                tag.LowLimit    = lowlimit;
                tag.HighLimit   = highlimit;
                tag.Units       = units;
                tag.Driver      = driver;
                db.SaveChanges();
                DataManipulator.saveData();
                TagProcessing.AItags.Remove(tag.Id);
                TagProcessing.AItags.Add(tag.Id, tag);
                TagProcessing.AIthreads.Remove(tag.Id);
                TagProcessing.AIthreads.Add(tag.Id, new Thread(() => TagProcessing.readAI(tag.Id)));
                TagProcessing.AIthreads[tag.Id].Start();
                onChangeNotification.Invoke("Operation succesful.");
            }
        }
Example #5
0
 public string RemoveTag(string tagId)
 {
     return(TagProcessing.RemoveTag(tagId));
 }
Example #6
0
 public TagProcessing(TagProcessing toClone)
 {
     tagName     = toClone.tagName;
     tagValueOld = toClone.tagValueOld;
     tagValueNew = toClone.tagValueNew;
 }
Example #7
0
 public string AddDigitalOutputTag(string tagId, string description, string ioAddress, int initValue)
 {
     return(TagProcessing.AddDigitalOutputTag(tagId, description, ioAddress, initValue));
 }
Example #8
0
 public string AddDigitalInputTag(string tagId, string description, string driver, string ioAddress, int ScanTime, bool onScan)
 {
     return(TagProcessing.AddDigitalInputTag(tagId, description, driver, ioAddress, ScanTime, onScan));
 }
Example #9
0
 public string AddAnalogOutputTag(string tagId, string description, string ioAddress, int scanTime, int lowLimit, int highLimit)
 {
     return(TagProcessing.AddAnalogOutputTag(tagId, description, ioAddress, scanTime, lowLimit, highLimit));
 }
Example #10
0
 public string AddAnalogInputTag(string tagId, string description, string driver, string ioAddress, int ScanTime, bool onScan, int lowLimit, int highLimit, string units)
 {
     return(TagProcessing.AddAnalogInputTag(tagId, description, driver, ioAddress, ScanTime, onScan, lowLimit, highLimit, units));
 }
Example #11
0
 public string RemoveAlarm(string tagId)
 {
     return(TagProcessing.RemoveAlarm(tagId));
 }
Example #12
0
 public string AddAlarmForAnalog(string tagId, string type, int priority)
 {
     return(TagProcessing.AddAlarm(tagId, type, priority));
 }
Example #13
0
 public void LoadXml()
 {
     TagProcessing.Init();
 }
Example #14
0
 public string ChangeOutputValue(string tagId, double newValue)
 {
     return(TagProcessing.ChangeOutputValue(tagId, newValue));
 }
Example #15
0
 public string SwitchScanMode(string tagId)
 {
     return(TagProcessing.SwitchScanMode(tagId));
 }