Skip to content

Commit c736b21

Browse files
committed
Use 4 space tab size in src-tauri/src/main.rs
1 parent ab32344 commit c736b21

File tree

1 file changed

+98
-98
lines changed
  • webui/musicplayer/src-tauri/src

1 file changed

+98
-98
lines changed
+98-98
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
#![cfg_attr(
2-
all(not(debug_assertions), target_os = "windows"),
3-
windows_subsystem = "windows"
2+
all(not(debug_assertions), target_os = "windows"),
3+
windows_subsystem = "windows"
44
)]
55

66
use std::sync::Arc;
77

88
use async_graphql::{Response, Request, Schema};
99
use futures::{stream::StreamExt, future::Either::{Left, Right}};
1010
use music_player_graphql::{
11-
schema::{
12-
Mutation, Query, Subscription,
13-
objects::{player_state::PlayerState, track::Track},
14-
playback::PositionMilliseconds,
15-
},
16-
simple_broker::SimpleBroker,
17-
MusicPlayerSchema,
11+
schema::{
12+
Mutation, Query, Subscription,
13+
objects::{player_state::PlayerState, track::Track},
14+
playback::PositionMilliseconds,
15+
},
16+
simple_broker::SimpleBroker,
17+
MusicPlayerSchema,
1818
};
1919
use music_player_playback::{
20-
audio_backend::{self, rodio::RodioSink},
21-
config::AudioFormat,
22-
player::{Player, PlayerEvent},
20+
audio_backend::{self, rodio::RodioSink},
21+
config::AudioFormat,
22+
player::{Player, PlayerEvent},
2323
};
2424
use music_player_tracklist::Tracklist;
2525
use music_player_settings::{read_settings, Settings};
@@ -37,103 +37,103 @@ enum ClientSubscriptionEvent { Unsubscribed }
3737

3838
#[tauri::command]
3939
fn execute_graphql_subscription(
40-
request: Request,
41-
schema: tauri::State<'_, MusicPlayerSchema>,
42-
app_handle: tauri::AppHandle
40+
request: Request,
41+
schema: tauri::State<'_, MusicPlayerSchema>,
42+
app_handle: tauri::AppHandle
4343
) -> Result<Uuid, ()> {
44-
let token = Uuid::new_v4();
45-
let (client_subscription_tx, client_subscription_rx) = futures::channel::mpsc::unbounded();
46-
let graphql_stream = schema.execute_stream(request);
47-
let cloned_handle = app_handle.clone();
48-
tokio::spawn(async move {
49-
let mut combined_stream = futures::stream::select(
50-
graphql_stream.map(Left),
51-
client_subscription_rx.map(Right)
52-
);
53-
loop {
54-
match combined_stream.next().await {
55-
None => { break; }
56-
Some(Right(ClientSubscriptionEvent::Unsubscribed)) => { break; }
57-
Some(Left(data)) => {
58-
cloned_handle.emit_all(
59-
&format!("subscriptions/{}", token),
60-
// Needs to be serialized first since Response doesn't implement Clone
61-
serde_json::to_value(&data).unwrap()
62-
).ok();
44+
let token = Uuid::new_v4();
45+
let (client_subscription_tx, client_subscription_rx) = futures::channel::mpsc::unbounded();
46+
let graphql_stream = schema.execute_stream(request);
47+
let cloned_handle = app_handle.clone();
48+
tokio::spawn(async move {
49+
let mut combined_stream = futures::stream::select(
50+
graphql_stream.map(Left),
51+
client_subscription_rx.map(Right)
52+
);
53+
loop {
54+
match combined_stream.next().await {
55+
None => { break; }
56+
Some(Right(ClientSubscriptionEvent::Unsubscribed)) => { break; }
57+
Some(Left(data)) => {
58+
cloned_handle.emit_all(
59+
&format!("subscriptions/{}", token),
60+
// Needs to be serialized first since Response doesn't implement Clone
61+
serde_json::to_value(&data).unwrap()
62+
).ok();
63+
}
64+
}
6365
}
64-
}
65-
}
66-
});
67-
app_handle.once_global(format!("unsubscribe/{}", token), move |_| {
68-
client_subscription_tx.unbounded_send(ClientSubscriptionEvent::Unsubscribed).ok();
69-
});
70-
Ok(token)
66+
});
67+
app_handle.once_global(format!("unsubscribe/{}", token), move |_| {
68+
client_subscription_tx.unbounded_send(ClientSubscriptionEvent::Unsubscribed).ok();
69+
});
70+
Ok(token)
7171
}
7272

7373
#[tauri::command]
7474
async fn execute_graphql(request: Request, schema: tauri::State<'_, MusicPlayerSchema>) -> Result<Response, ()> {
75-
Ok(schema.execute(request).await)
75+
Ok(schema.execute(request).await)
7676
}
7777

7878
#[tokio::main]
7979
async fn main() {
80-
let audio_format = AudioFormat::default();
81-
let backend = audio_backend::find(Some(RodioSink::NAME.to_string())).unwrap();
82-
let tracklist = Arc::new(std::sync::Mutex::new(Tracklist::new_empty()));
83-
let (cmd_tx, cmd_rx) = mpsc::unbounded_channel();
84-
let cmd_tx = Arc::new(std::sync::Mutex::new(cmd_tx));
85-
let cmd_rx = Arc::new(std::sync::Mutex::new(cmd_rx));
80+
let audio_format = AudioFormat::default();
81+
let backend = audio_backend::find(Some(RodioSink::NAME.to_string())).unwrap();
82+
let tracklist = Arc::new(std::sync::Mutex::new(Tracklist::new_empty()));
83+
let (cmd_tx, cmd_rx) = mpsc::unbounded_channel();
84+
let cmd_tx = Arc::new(std::sync::Mutex::new(cmd_tx));
85+
let cmd_rx = Arc::new(std::sync::Mutex::new(cmd_rx));
8686

87-
let (_, _) = Player::new(
88-
move || backend(None, audio_format),
89-
move |event| {
90-
match event {
91-
PlayerEvent::CurrentTrack {
92-
track,
93-
position,
94-
position_ms,
95-
is_playing,
96-
} => {
97-
if let Some(track) = track.clone() {
98-
SimpleBroker::publish(Track::from(track));
99-
SimpleBroker::publish(PlayerState {
100-
index: position as u32,
101-
position_ms,
102-
is_playing,
103-
});
104-
}
105-
}
106-
PlayerEvent::TrackTimePosition { position_ms } => {
107-
SimpleBroker::publish(PositionMilliseconds { position_ms });
108-
}
109-
_ => {}
110-
}
111-
},
112-
Arc::clone(&cmd_tx),
113-
Arc::clone(&cmd_rx),
114-
tracklist.clone(),
115-
);
116-
let db = Arc::new(Mutex::new(Database::new().await));
117-
let schema: MusicPlayerSchema = Schema::build(
118-
Query::default(),
119-
Mutation::default(),
120-
Subscription::default(),
121-
)
122-
.data(db)
123-
.data(cmd_tx)
124-
.data(tracklist)
125-
.finish();
87+
let (_, _) = Player::new(
88+
move || backend(None, audio_format),
89+
move |event| {
90+
match event {
91+
PlayerEvent::CurrentTrack {
92+
track,
93+
position,
94+
position_ms,
95+
is_playing,
96+
} => {
97+
if let Some(track) = track.clone() {
98+
SimpleBroker::publish(Track::from(track));
99+
SimpleBroker::publish(PlayerState {
100+
index: position as u32,
101+
position_ms,
102+
is_playing,
103+
});
104+
}
105+
}
106+
PlayerEvent::TrackTimePosition { position_ms } => {
107+
SimpleBroker::publish(PositionMilliseconds { position_ms });
108+
}
109+
_ => {}
110+
}
111+
},
112+
Arc::clone(&cmd_tx),
113+
Arc::clone(&cmd_rx),
114+
tracklist.clone(),
115+
);
116+
let db = Arc::new(Mutex::new(Database::new().await));
117+
let schema: MusicPlayerSchema = Schema::build(
118+
Query::default(),
119+
Mutation::default(),
120+
Subscription::default(),
121+
)
122+
.data(db)
123+
.data(cmd_tx)
124+
.data(tracklist)
125+
.finish();
126126

127-
let config = read_settings().unwrap();
128-
let settings = config.try_deserialize::<Settings>().unwrap();
129-
if settings.tauri_enable_graphql_server {
130-
tokio::spawn(run_graphql_server(schema.clone()));
131-
}
127+
let config = read_settings().unwrap();
128+
let settings = config.try_deserialize::<Settings>().unwrap();
129+
if settings.tauri_enable_graphql_server {
130+
tokio::spawn(run_graphql_server(schema.clone()));
131+
}
132132

133-
tauri::async_runtime::set(tokio::runtime::Handle::current());
134-
tauri::Builder::default()
135-
.manage(schema)
136-
.invoke_handler(tauri::generate_handler![execute_graphql, execute_graphql_subscription])
137-
.run(tauri::generate_context!())
138-
.expect("error while running tauri application");
133+
tauri::async_runtime::set(tokio::runtime::Handle::current());
134+
tauri::Builder::default()
135+
.manage(schema)
136+
.invoke_handler(tauri::generate_handler![execute_graphql, execute_graphql_subscription])
137+
.run(tauri::generate_context!())
138+
.expect("error while running tauri application");
139139
}

0 commit comments

Comments
 (0)