Enigmasettings Featured

EnigmaSettings Library

EnigmaSettings is open source library for Enigma1 & Enigma2 settings management.
It does all heavy work with settings loading, manipulation and saving so you don’t have to.
If you’ve ever thought about writing your own settings editor (like DreamboxEdit, Dreamset…)
but didn’t know anything about Enigma settings – this library is for you.

It’s written in C# and compatible with Mono 2.8 and higher.

If you’re not software developer you can probably skip this 🙂

Main features

  • It’s FREE
  • It’s open source library licensed under permissive MIT license. Anyone can use it.
  • It’s easy to use, has excellent logging support, and commented code.
  • It works on Windows XP SP2 and newer (.NET framework 3.5), Linux and MacOS X (Mono 2.8 and higher). I suppose it will work on iOS and Android too when compiled as Portable Library, but I didn’t have time to test it.
  • It’s fast. It will load up huge motor settings in under 500 ms.
  • It supports Enigma1, Enigma2 ver3 and Enigma2 ver4 settings and automatic conversion between them.
  • Implemented background threading for settings loading and saving  (Async methods)
  • Full interface based objective model
  • Every part of library can be replaced by custom code via custom instance factory (Inversion of Concerns)
  • Fully prepared for GUI data binding (IEditable and IPropertyChanged interfaces implemented)
  • It’s used in our open source project Simple Enigma Settings Editor

DIRECT DOWNLOAD

Windows (.NET 3.5 Client Profile) download:   HERE
Mono / .NET Framework 4.0 (Linux, MacOS X, Windows):   HERE
Help file (.chm):   HERE

Source code on GitHub: https://github.com/shaxxx/EnigmaSettings

Examples

Too see library used in a real application check out SESE aplication available on https://github.com/shaxxx/SESE


// C#

//list location (lamedb or services file)
string fileName = "C:\\Settings\\lamedb";

//initialize default list load / save handler
Krkadoni.EnigmaSettings.SettingsIO settingsIO = new Krkadoni.EnigmaSettings.SettingsIO();

//load list
Krkadoni.EnigmaSettings.Settings settings = settingsIO.Load("");

//change satellite position for Thor satellite from 1.0 W to 0.8 W
//Changes satellite position to new position for satellite and belonging transponders
var satelliteThor = settings.Satellites.Single(x => Int32.Parse(x.Position) == -10);
settings.ChangeSatellitePosition(satelliteThor, -8);

//remove all stream services
settings.RemoveStreams();

//remove empty bouquets
settings.RemoveEmptyBouquets();

//remove satellite on position 23.0 E
settings.RemoveSatellite(230);

//update service parameters
var service = settings.Services.First(); //take first service as an example
service.Name = "Service name";
service.ProgNumber = "0";
service.ServiceSecurity = Enums.ServiceSecurity.BlackListed;
service.SID = "24";
//etc...

//save settings to current folder
settingsIO.Save(new DirectoryInfo(AppSettings.CurrentDir), settings );

 

'VB.net

'list location (lamedb or services file)
Dim fileName As String = "C:\Settings\lamedb"

'initialize default list load / save handler
Dim settingsIO As New Krkadoni.EnigmaSettings.SettingsIO()

'load list
Dim settings As Krkadoni.EnigmaSettings.Settings = settingsIO.Load("")

'change satellite position for Thor satellite from 1.0 W to 0.8 W
'Changes satellite position to new position for satellite and belonging transponders
Dim satelliteThor = settings.Satellites.[Single](Function(x) Int32.Parse(x.Position) = -10)
settings.ChangeSatellitePosition(satelliteThor, -8)

'remove all stream services
settings.RemoveStreams()

'remove empty bouquets
settings.RemoveEmptyBouquets()

'remove satellite on position 23.0 E
settings.RemoveSatellite(230)

'update service parameters
Dim service = settings.Services.First()
'take first service as an example
service.Name = "Service name"
service.ProgNumber = "0"
service.ServiceSecurity = Enums.ServiceSecurity.BlackListed
service.SID = "24"
'etc...

'save settings to current folder
settingsIO.Save(New DirectoryInfo(AppSettings.CurrentDir), settings)

Comments

comments

351 Comments

  1. hugh
    hugh02-14-2015

    .

    thank you.

  2. Jessie
    Jessie02-11-2015

    .

    thank you.

  3. dale
    dale02-09-2015

    .

    ñïàñèáî çà èíôó!!

  4. juan
    juan02-09-2015

    .

    tnx for info.

  5. Aaron
    Aaron02-09-2015

    .

    hello!!

  6. virgil
    virgil02-08-2015

    .

    áëàãîäàðñòâóþ.

  7. bruce
    bruce02-08-2015

    .

    ñïñ çà èíôó.

  8. Chad
    Chad02-08-2015

    .

    ñïñ.

  9. marcus
    marcus02-07-2015

    .

    ñïàñèáî çà èíôó!

  10. Francisco
    Francisco02-07-2015

    .

    ñïñ çà èíôó.

  11. Joel
    Joel02-07-2015

    .

    ñïàñèáî çà èíôó!!

  12. terrance
    terrance02-07-2015

    .

    ñïñ!!

  13. max
    max02-07-2015

    .

    thank you!

  14. luke
    luke02-07-2015

    .

    ñïñ!

  15. Willard
    Willard02-07-2015

    .

    ñïàñèáî çà èíôó!

  16. alfonso
    alfonso02-07-2015

    .

    tnx for info!

  17. kent
    kent02-06-2015

    .

    ñïàñèáî çà èíôó.

  18. Johnnie
    Johnnie02-06-2015

    .

    good!!

  19. Antonio
    Antonio02-06-2015

    .

    ñïñ!

  20. Julian
    Julian02-06-2015

    .

    ñïñ!!

  21. fernando
    fernando02-05-2015

    .

    ñïñ!

  22. craig
    craig02-05-2015

    .

    ñïñ.

  23. isaac
    isaac02-05-2015

    .

    tnx for info!

  24. Jonathan
    Jonathan02-05-2015

    .

    hello.

  25. Shane
    Shane02-04-2015

    .

    thanks for information!

  26. wendell
    wendell02-04-2015

    .

    thanks for information.

  27. jorge
    jorge02-04-2015

    .

    thanks!!

  28. Manuel
    Manuel02-04-2015

    .

    thanks!

  29. karl
    karl02-04-2015

    .

    áëàãîäàðþ.

  30. Enrique
    Enrique02-04-2015

    .

    ñïñ.

  31. edgar
    edgar02-04-2015

    .

    thank you!!

  32. brett
    brett02-04-2015

    .

    ñïñ çà èíôó!

  33. samuel
    samuel02-03-2015

    .

    ñïñ!!

  34. Miguel
    Miguel02-03-2015

    .

    áëàãîäàðñòâóþ.

  35. Christopher
    Christopher02-03-2015

    .

    ñïàñèáî çà èíôó!

  36. kyle
    kyle02-03-2015

    .

    ñýíêñ çà èíôó!!

  37. wallace
    wallace02-03-2015

    .

    good info!!

  38. harold
    harold02-02-2015

    .

    ñïàñèáî çà èíôó!

  39. terry
    terry02-02-2015

    .

    thank you.

  40. Raymond
    Raymond02-02-2015

    .

    hello.

  41. Francis
    Francis02-02-2015

    .

    ñïñ!!

  42. donald
    donald02-02-2015

    .

    áëàãîäàðåí!!

  43. dan
    dan02-02-2015

    .

    tnx for info!!

  44. Jeffery
    Jeffery02-02-2015

    .

    ñïàñèáî çà èíôó.

  45. Guy
    Guy02-02-2015

    .

    thanks for information!

  46. Brett
    Brett02-01-2015

    .

    ñýíêñ çà èíôó!

  47. edwin
    edwin01-31-2015

    .

    ñïàñèáî çà èíôó!!

  48. luis
    luis01-31-2015

    .

    good info!

  49. Travis
    Travis01-31-2015

    .

    ñïñ çà èíôó.

  50. Dave
    Dave01-30-2015

    .

    tnx for info!!

Leave a Reply

You must be logged in to post a comment.