Compare commits

..

No commits in common. "09b79181d9bcc72f32dee3ac91ca3bb213dce0e1" and "49064f23bc961b6686207edca1501e36e9ce031d" have entirely different histories.

7 changed files with 222 additions and 153 deletions

View File

@ -7,28 +7,14 @@ The webserver uses it's own git clone of this repository.
https://osamc.de/
Dates for the next meetings are automatically calculated.
For everything else edit the HTML files by hand.
## Deploying the website
The server osamc.de updates a local copy of this repository and will rsync changes to the web
directory. Additional sanity checking and security measures are done in this step to prevent
(accidental) harmful files on the public webserver.
Edit the HTML files by hand.
## Archive
https://osamc.de/archiv/
Each sub directory is one talk or project.
Everything that has a metadata.ini file will be parsed by the index generator program.
Possible index files are index.html index.php and index.pdf
## Protocols / Pad
The collaborative text pad is currently not in this git. #TODO
## Large File Storage
Everything that has an .ini file will be parsed by the index generator program.
Since we host large files, like music sessions, in the archive it needs git large file storage for
github. git lfs is detected by github, you or other users don't need to setup anything on github,

View File

@ -1 +0,0 @@
DirectoryIndex index.php index.html index.htm index.pdf

View File

@ -1,50 +0,0 @@
<?php
function cmpByDate(array $a, array $b) {
return strcmp($a['Date'], $b['Date']);
}
$dirs = array_filter(glob('*'), 'is_dir');
//print_r($dirs);
$projects = array();
foreach($dirs as $projectdir) {
$inifile = $projectdir . "/metadata.ini";
if (file_exists($inifile)) {
$iniAssoArray = parse_ini_file($inifile, false, INI_SCANNER_RAW);
$iniAssoArray["Directory"] = $projectdir;
array_push($projects, $iniAssoArray);
//print_r($iniAssoArray);
//echo $iniAssoArray['Date']."\n";
}
}
usort($projects, 'cmpByDate');
$projects = array_reverse($projects); //newest first
//print_r($projects);
//Now we have all ini files as PHP arrays, sorted by date, and can build HTML.
$resultHTML = "";
foreach($projects as $proj) {
$block = <<<EOD
<h4><small>$proj[Date]</small><br>
<a href="$proj[Directory]">$proj[PrettyName]</a></h4>
<ul>
<li>$proj[Author], $proj[License]</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/$proj[Directory]">https://www.osamc.de/archiv/$proj[Directory]</a></li>
</ul>
<hr>
\n
EOD;
$resultHTML = $resultHTML . $block;
}
//return $resultHTML;
echo $resultHTML;
?>

206
archiv/index.html Normal file
View File

@ -0,0 +1,206 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="normalize.css" type="text/css">
<link rel="stylesheet" href="sakura.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>OSAMC Archiv</title>
</head>
<body>
<h1>Open Source Audio Meeting Cologne: Archiv</h1>
<p><a href="anleitung.html">Anleitung für OSAMC Mitglieder</a></p>
<h4><small>2023-08</small><br><a href="jtsoftarch">Untersuchung von Software-Architekturen Eine Fallstudie zu häufigen Gründen für Architektur-Erosion in Open Source Software aus dem akademischen Umfeld</a></h4>
<ul>
<li>Sven Thielen, CC BY-NC-SA</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/jtsoftarch">https://www.osamc.de/archiv/jtsoftarch</a></li>
</ul>
<hr>
<h4><small>2023-07</small><br><a href="bleaudio">Bluetooth Low Energy Audio - Harald kannst du mich hören???</a></h4>
<ul>
<li>Marius, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/bleaudio">https://www.osamc.de/archiv/bleaudio</a></li>
</ul>
<hr>
<h4><small>2023-06</small><br><a href="pianotrainer">Piano-Trainer</a></h4>
<ul>
<li>nils, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/pianotrainer">https://www.osamc.de/archiv/pianotrainer</a></li>
</ul>
<hr>
<h4><small>2022-07-20</small><br><a href="gatedreverbdrums">Gated Reverb Drums</a></h4>
<ul>
<li>Christopher Arndt, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/gatedreverbdrums">https://www.osamc.de/archiv/gatedreverbdrums</a></li>
</ul>
<hr>
<h4><small>2021-08</small><br><a href="wifi5iempi">Wi-Fi IEM Pi WLAN In-Ear Monitoring mit Raspberry Pi und Freier Software</a></h4>
<ul>
<li>Sven Thielen, CC BY-NC-SA</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/wifi5iempi">https://www.osamc.de/archiv/wifi5iempi</a></li>
</ul>
<hr>
<h4><small>2021-03</small><br><a href="2021kreiskomposition2">Kreiskompositions-Projekt II</a></h4>
<ul>
<li>OSAMC, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/2021kreiskomposition2">https://www.osamc.de/archiv/2021kreiskomposition2</a></li>
</ul>
<hr>
<h4><small>2021-01</small><br><a href="2021kreiskomposition">Kreiskompositions-Projekt</a></h4>
<ul>
<li>OSAMC, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/2021kreiskomposition">https://www.osamc.de/archiv/2021kreiskomposition</a></li>
</ul>
<hr>
<h4><small>2020-11</small><br><a href="wifi5iem">In-Ear Monitoring über WLAN Eine Analyse zur Realisierbarkeit mit Freier Software</a></h4>
<ul>
<li>Sven Thielen, CC BY-NC-SA</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/wifi5iem">https://www.osamc.de/archiv/wifi5iem</a></li>
</ul>
<hr>
<h4><small>2020-11</small><br><a href="avb">Audio over Ethernet: AVB/TSN</a></h4>
<ul>
<li>Florian "Florob" Zeitz, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/avb">https://www.osamc.de/archiv/avb</a></li>
</ul>
<hr>
<h4><small>2019-11</small><br><a href="ardourscripting">Ardour Scripting 101</a></h4>
<ul>
<li>Daniel Appelt, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/ardourscripting">https://www.osamc.de/archiv/ardourscripting</a></li>
</ul>
<hr>
<h4><small>2019-07</small><br><a href="abcnotation">Praktisches Arbeiten mit der ABC Notation</a></h4>
<ul>
<li>Christopher Arndt, CC-by</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/abcnotation">https://www.osamc.de/archiv/abcnotation</a></li>
</ul>
<hr>
<h4><small>2019-06</small><br><a href="fuenfjahre">Fünf Jahre OSAMC</a></h4>
<ul>
<li>nils, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/fuenfjahre">https://www.osamc.de/archiv/fuenfjahre</a></li>
</ul>
<hr>
<h4><small>2019-05</small><br><a href="orchester">Orchesterpartituren Lesen und Mitverfolgen</a></h4>
<ul>
<li>Nils, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/orchester">https://www.osamc.de/archiv/orchester</a></li>
</ul>
<hr>
<h4><small>2018-08-15</small><br><a href="fmsynths">Open Source FM Software Synthesizer</a></h4>
<ul>
<li>Christopher Arndt, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/fmsynths">https://www.osamc.de/archiv/fmsynths</a></li>
</ul>
<hr>
<h4><small>2018-06</small><br><a href="sfxr">sfxr Random Sound Generator</a></h4>
<ul>
<li>nils, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/sfxr">https://www.osamc.de/archiv/sfxr</a></li>
</ul>
<hr>
<h4><small>2018-05-16</small><br><a href="norns">norns (linux-powered open-source sound computer) - voraussichtliches Erscheinungsdatum: 1. September 2018</a></h4>
<ul>
<li>Markus, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/norns">https://www.osamc.de/archiv/norns</a></li>
</ul>
<hr>
<h4><small>2018-05-16</small><br><a href="mcgv">mcgv-0.01 (monome controlled generative visuals) - In Processing geschriebenes, interaktives Animations-Übungsprojekt. (work-in-progress)</a></h4>
<ul>
<li>Markus, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/mcgv">https://www.osamc.de/archiv/mcgv</a></li>
</ul>
<hr>
<h4><small>2018-05</small><br><a href="cracklebox">Die Crackle Box - intuitiv bedienbarer Klein-Synthesizer mit unvorhersehbarem klanglichem Ergebnis</a></h4>
<ul>
<li>Georg Berger, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/cracklebox">https://www.osamc.de/archiv/cracklebox</a></li>
</ul>
<hr>
<h4><small>2018-04</small><br><a href="speedcompositionapril2018">Speed Composition Event April 2018</a></h4>
<ul>
<li>OSAMC, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/speedcompositionapril2018">https://www.osamc.de/archiv/speedcompositionapril2018</a></li>
</ul>
<hr>
<h4><small>2018-03</small><br><a href="nonsessionmanager">Non Session Manager</a></h4>
<ul>
<li>Nils, CC-by-sa</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/nonsessionmanager">https://www.osamc.de/archiv/nonsessionmanager</a></li>
</ul>
<hr>
<h4><small>2018-02</small><br><a href="demo">Demo-Projekt mit Templates ツ</a></h4>
<ul>
<li>Demona Demonsdottir, CC-by</li>
<li>Permalink: <a href="https://www.osamc.de/archiv/demo">https://www.osamc.de/archiv/demo</a></li>
</ul>
<hr>
</body>
</html>

View File

@ -1,17 +0,0 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="normalize.css" type="text/css">
<link rel="stylesheet" href="sakura.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>OSAMC Archiv</title>
</head>
<body>
<h1>Open Source Audio Meeting Cologne: Archiv</h1>
<?php include "build_project_index_html.php"; ?>
</body>
</html>

View File

@ -1,9 +1,3 @@
<?php
include "third_wednesday.php";
$nextDate = nextThirdWednesday();
$followingDates = listNextElevenThirdWendesdays();
?>
<!doctype html>
<html lang="en">
<head>
@ -181,10 +175,21 @@ $followingDates = listNextElevenThirdWendesdays();
<div class="Information">
<h4>Termine<span><a href="https://plan.osamc.de"><?php echo $nextDate; ?></a> 19:00 Uhr </span></h4>
<h4>Termine<span><a href="https://plan.osamc.de">18.10.2023</a> 19:00 Uhr </span></h4>
<p>Jeder Dritte Mittwoch im Monat (außer Dezember):<br>
<?php echo $followingDates; ?>
15.11.
17.1.
21.2.
20.3.
17.4.
15.5.
19.6.
17.7.
21.8.
18.9.
16.10.
20.11.
</p>
</div>
@ -226,7 +231,7 @@ $followingDates = listNextElevenThirdWendesdays();
<div class="Form">
<h3>Nächstes Treffen: <span><?php echo $nextDate; ?></span></h3>
<h3>Nächstes Treffen: <span>18.10.2023</span></h3>
<form method="post" action="#">
<fieldset disabled>

View File

@ -1,60 +0,0 @@
<?php
function nextThirdWednesday() {
// Set the default time zone to your desired one
date_default_timezone_set('Europe/Berlin');
$date = new DateTime( 'third wednesday of this month, 17:00' );
if( date_create()->diff( $date )->invert )
{
$date = new DateTime( 'third wednesday of next month, 17:00' );
}
if ($date->format('m') == '12') {
// If it's December, advance to January of the following year
$date->modify('third wednesday of January next year');
$date->modify('-1 day'); // not sure why.
}
$nextThirdWednesdayFormatted = $date->format('d.m.y');
return $nextThirdWednesdayFormatted;
}
function listNextElevenThirdWendesdays() {
date_default_timezone_set('Europe/Berlin');
//Start with the actual next meeting date, that is already calculated by another function already.
$date = new DateTime( 'third wednesday of this month, 17:00' );
if( date_create()->diff( $date )->invert )
{
$date = new DateTime( 'third wednesday of next month, 17:00' );
}
if ($date->format('m') == '12') {
// If it's December, advance to January of the following year
$date->modify('third wednesday of January next year');
$date->modify('-1 day'); // not sure why.
}
$result = "";
for ($i=0; $i < 11; $i++) {
$date->modify('third wednesday of next month');
//Again:
if ($date->format('m') == '12') {
// If it's December, advance to January of the following year
$date->modify('third wednesday of January next year');
$date->modify('-1 day'); // not sure why.
}
$result = $result . " " . $date->format('d.m');
}
return $result;
}
?>