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. Marvin
    Marvin11-23-2014

    .

    ñïñ çà èíôó.

  2. Christian
    Christian11-23-2014

    .

    ñïñ!!

  3. darrell
    darrell11-23-2014

    .

    ñïñ!

  4. theodore
    theodore11-23-2014

    .

    ñïñ!!

  5. russell
    russell11-23-2014

    .

    good info.

  6. ronald
    ronald11-23-2014

    .

    good info!!

  7. kent
    kent11-22-2014

    .

    tnx!!

  8. Brett
    Brett11-22-2014

    .

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

  9. nelson
    nelson11-22-2014

    .

    hello!!

  10. chris
    chris11-22-2014

    .

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

  11. oscar
    oscar11-21-2014

    .

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

  12. casey
    casey11-21-2014

    .

    thanks for information.

  13. Lonnie
    Lonnie11-21-2014

    .

    ñïñ!!

  14. bobby
    bobby11-21-2014

    .

    ñïàñèáî!!

  15. Bryan
    Bryan11-21-2014

    .

    good info.

  16. Glen
    Glen11-21-2014

    .

    tnx for info!!

  17. kyle
    kyle11-21-2014

    .

    ñïàñèáî!

  18. John
    John11-21-2014

    .

    thank you!

  19. Nicholas
    Nicholas11-21-2014

    .

    áëàãîäàðþ!!

  20. wesley
    wesley11-20-2014

    .

    tnx for info!!

  21. tom
    tom11-20-2014

    .

    ñïàñèáî!

  22. Larry
    Larry11-20-2014

    .

    ñïñ.

  23. Darren
    Darren11-20-2014

    .

    ñïñ çà èíôó!!

  24. guy
    guy11-20-2014

    .

    tnx!

  25. benjamin
    benjamin11-19-2014

    .

    tnx!

  26. Roberto
    Roberto11-19-2014

    .

    thanks.

  27. Clifton
    Clifton11-19-2014

    .

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

  28. Joe
    Joe11-19-2014

    .

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

  29. chester
    chester11-19-2014

    .

    hello!!

  30. Sergio
    Sergio11-19-2014

    .

    tnx for info!

  31. Jesus
    Jesus11-19-2014

    .

    good info!!

  32. lynn
    lynn11-19-2014

    .

    good.

  33. Guy
    Guy11-18-2014

    .

    good!

  34. oscar
    oscar11-18-2014

    .

    thanks for information!!

  35. mitchell
    mitchell11-18-2014

    .

    thanks.

  36. Cecil
    Cecil11-18-2014

    .

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

  37. darrell
    darrell11-17-2014

    .

    tnx for info.

  38. Jeffrey
    Jeffrey11-17-2014

    .

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

  39. byron
    byron11-17-2014

    .

    thanks!!

  40. enrique
    enrique11-17-2014

    .

    tnx for info!!

  41. david
    david11-17-2014

    .

    ñïñ çà èíôó.

  42. Cody
    Cody11-17-2014

    .

    tnx for info!

  43. Carlos
    Carlos11-17-2014

    .

    ñïñ çà èíôó.

  44. Chester
    Chester11-17-2014

    .

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

  45. Bradley
    Bradley11-16-2014

    .

    tnx for info.

  46. terrance
    terrance11-16-2014

    .

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

  47. Herman
    Herman11-16-2014

    .

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

  48. joshua
    joshua11-16-2014

    .

    tnx.

  49. wayne
    wayne10-27-2014

    .

    hello.

  50. SASE - Simple Enigma Settings Editor | Krkadoni
    SASE - Simple Enigma Settings Editor | Krkadoni12-30-2013

    […] open source EnigmaSettings library to handle all the heavy work of settings loading, management and […]

1 2 3 8

Leave a Reply

You must be logged in to post a comment.